Collections

From Computer Science Wiki
Programming basics[1]

A collection is simply an object that groups multiple elements into a single unit. Collections are used to store, retrieve, manipulate, and communicate aggregate data. Typically, they represent data items that form a natural group, such as a poker hand (a collection of cards), a mail folder (a collection of letters), or a telephone directory (a mapping of names to phone numbers). If you have used the Java programming language — or just about any other programming language — you are already familiar with collections.[2]

Collection methods[edit]

Collection methods in Pseudocode are:[3]

  • .addItem( new data item )
  • .resetNext( ) start at beginning of collection
  • .hasNext( ) checks whether there are still more items in the collection
  • .getNext( ) retrieve the next item in the collection
  • .isEmpty( ) check whether the collection is empty

Code sample[edit]

class CustomCollection:
    def __init__(self):
        self.items = []
        self.current_index = 0

    def add_item(self, item):
        self.items.append(item)

    def reset_next(self):
        self.current_index = 0

    def has_next(self):
        return self.current_index < len(self.items)

    def get_next(self):
        if self.has_next():
            item = self.items[self.current_index]
            self.current_index += 1
            return item
        else:
            raise IndexError("No more items in the collection.")

    def is_empty(self):
        return len(self.items) == 0

    def __repr__(self):
        return f"CustomCollection({self.items})"

# Create a new custom collection
collection = CustomCollection()

# Add items to the collection
collection.add_item(1)
collection.add_item(2)
collection.add_item(3)

# Check if the collection is empty
print(collection.is_empty())  # Output: False

# Iterate through the collection using hasNext and getNext methods
while collection.has_next():
    print(collection.get_next())  # Output: 1, 2, 3

# Check if there are more items in the collection
print(collection.has_next())  # Output: False

# Reset the iterator to the beginning of the collection
collection.reset_next()

# Iterate through the collection again
while collection.has_next():
    print(collection.get_next())  # Output: 1, 2, 3

# Clear the collection
collection.items.clear()

# Check if the collection is empty
print(collection.is_empty())  # Output: True


Standards[edit]

  • Describe the characteristics and applications of a collection.
  • Construct algorithms using the access methods of a collection.
  • Discuss the need for sub-programmes and collections within programmed solutions.
  • Construct algorithms using pre-defined sub-programmes, one-dimensional arrays and/or collections.

References[edit]