Collections: Difference between revisions

From Computer Science Wiki
No edit summary
No edit summary
 
(2 intermediate revisions by 2 users not shown)
Line 8: Line 8:


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


Write, in pseudocode, a collection that adds the first names of everyone in the class. You then must find the name of everyone whose name starts with M.  
== Code sample ==
 
<syntaxhighlight lang="Python">
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
 
</syntaxhighlight>





Latest revision as of 07:44, 26 April 2023

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]