欢迎使用CSDN-markdown编辑器

来源:互联网 发布:cf一键超级跳宏数据 编辑:程序博客网 时间:2024/05/21 11:16

集合: 长度没有限制
存储的数据类型:没有数据类型的限制,若想要限制,可以通过泛型进行限制,存储的都是对象,引用数据类型。
集合的架构:
Collection:接口
Set:接口,不可重复,无序
HashSet:基于哈希表的,对顺序没有要求且不能重复,在自定义的类里重写hashCode(),equals()方法
LinkedHashSet:
TreeSet:不重复,可以按照指定的顺序对集合中元素进行排序,具体的顺序取决与接口中重写的方法
List:接口,可以重复,有序
ArrayList:大小可变数组的实现,先进先出(FIFO)
LinkedList:链表的实现,可以将链表用作堆栈,队列或双端队列,此类实现了Deque队列接口
Vector:大小可变的数组,线程安全,实现了线程同步
Stack:
Map:接口
SortedMap:接口
TreeMap:实现类,可以基于key进行排序方法,如果向TreeMap中添加key,该key也是实体类,这个实体类就必须实现接口Comparable接口,或者在TreeMap的构造方法中实现Comparator
HashMap:实现类,无序不重复,若HashMap中存放自定义的类对象作为Key,该类必须重写hashCode()和equals()方法

     Hashtable:实现类,与HashMap一样,都是基于哈希表的,Hashtable是线程同步的,是安全的

集合的遍历:List的集合都可以通过迭代器进行遍历
迭代器:1.获取迭代器 Iterator it = list.iterator();
2.判断集合中是否有元素 it.hasNext();
3.拿到集合中元素:it.next();
其中ArrayList,LinkedList还可以通过普通的for循环进行遍历,利用其特有的方法get(),还可以通过增强for循环进行遍历,而TreeSet,HashSet只能通过增强for循环和迭代器进行遍历。
Map中存储的是键值对,所以通过键值可以得到值,通过值也可以拿到对应的键
集合的工具类:Collections

0 0
原创粉丝点击