集合结构
1. 该接口中有一个iterator方法,返回迭代器
1. Collection(存储一个一个的元素)
1. List(有序<存取的顺序一致>,可重复)
1. ArrayList:底层是数组结构,对于指定元素的查找比较快,数组在内存中是一片连续的空间,但是在增删的时候需要移动整个内存块,比较慢
2. LinkList:底层是链表的结构,查询的速度比较慢,增删的速度快,只需要修改节点的指向
1. 链表:由一个一个的节点组成
3. Vector:兼具共性,线程锁,线程安全
2. Set(无序<存取的顺序不一致>,不可重复)
1. HashSet: 底层是一个Hash表。存储在Hashset中的元素需要实现Hashcode方法和equals
1. LikedHashSet:有序的,不可重复
2. TreeSet:
1. 底层实现了TreeMap,实现了Comparator接口,左边所有的元素小于当前父节点元素小于右边所有的元素
2. TreeSet类型是J2SE中唯一可实现自动排序的类型
3. Stack:先进后出
3. Queue: 先进先出,FIFO;
1. priorityQueue : 优先级高的元素现出来,可以为元素设置优先级;
2. Map(存储一对一对的<key,value>)
1. HashMap:键值对存储:底层是Hash表+链表结构(JDK1.7之前),存储在HashMap中的key(实现HashCode方法和equals)
2. LinkedHashMap 存取的顺序一致
2. TreeMap:红黑树(二叉树),使用的二分查找算法,查询的速度比较快,要求存储在Tree集合中的元素的key必须实现Comparable接口
3. HashTable:能够保证线程的安全。但是比较慢。keyvalue不允许是null。
Properties:加载资源文件使用的,存储的类型是key/value1的方式