Skip to content

Latest commit

 

History

History
45 lines (32 loc) · 1.89 KB

File metadata and controls

45 lines (32 loc) · 1.89 KB

Collection


What is a Collection?

  • Various implementations exist based on the List, Map, and Set interfaces
  • Reasons for use
    • Because standardized classes are provided for handling large amounts of data, you can use them conveniently without directly implementing DataStructures
    • Unlike arrays, you don't need to pre-define the space for storing objects, so the number of objects can be determined dynamically based on the situation
      • This also improves the spatial efficiency of the program

Types of Collections

List

  • The List interface can be directly defined and used by the user through @Override, and the representative implementation is ArrayList.
    • This is an improvement of the existing Vector
  • LinkedList
    • A data structure that stores data in a manner where each node has data and a pointer, connected in a single line
    • Nodes containing data are connected, and the node's pointer is responsible for the connection to the next or previous node
    • Advantages
      • Adding/removing data at the middle of the lined-up nodes is possible in O(1) time
    • Disadvantages
      • Unlike arrays or tree structures, searching for data at a specific position takes O(n) time

Map

  • The representative implementation is HashMap
  • It has a key-value structure, and the specific details about Map are consistent with the hashtable in the DataStructure section
  • Duplicate values are not stored based on the key, and order is not guaranteed
  • To guarantee order for keys, use LinkedHashMap

Set

  • The representative implementation is HashSet.
  • Duplicate values for value are not stored
  • In fact, the Set data structure is simply a data structure where the value is used as the key, replacing the key in the Map's key-value structure
  • Likewise, order is not guaranteed, and LinkedHashSet is used to guarantee order