容器类
collection接口
常用方法:
- void clear() 移除此 collection 中的所有元素(可选操作)。
- boolean contains(Object o ) 判断是否包含。
- boolean isEmpty()判断是否为空。
- boolean remove(Object o) 移除指定数据元素。
- boolean removeAll(Collection<?> c) 移除此 collection 中那些也包含在指定 collection 中的所有元素(可选操作)。
- boolean retainAll(Collection<?> c) 求交集,保存两个容器都有的数据。
- int size() 返回此 collection 中的元素数。
- Object[] toArray()转换为数组。
遍历方法:
- 增强for|for…each
- 迭代器
//迭代器 /* * 1.获取迭代某一个容器的迭代器对象 * 2.判断是否存在下一个可迭代的元素 hasNext() ->true,false * 3.返回下一个元素 next() ->下一个元素 */ Iterator<String> it=coll.iterator(); while(it.hasNext()){ System.out.println(it.next()); }
泛型:
- 泛型是程序设计语言的一种特性。允许程序员在强类型程序设计语言中编写代码时定义一些可变部分,那些部分在使用前必须作出指明。
- 泛型提高稳定性和可读性,规定容器中所有数据的数据类型。
list接口
常用方法:
- void add(int index, E element) 在列表的指定位置插入指定元素(可选操作)。
- E get(int index) 返回列表中指定位置的元素。
- int indexOf(Object o) 返回此列表中第一次出现的指定元素的索引;如果此列表不包含该元素,则返回 -1。
- int lastIndexOf(Object o) 返回此列表中最后出现的指定元素的索引;如果列表不包含此元素,则返回 -1。
- ListIterator listIterator() 返回此列表元素的列表迭代器(按适当顺序)。
- ListIterator listIterator(int index) 返回列表中元素的列表迭代器(按适当顺序),从列表的指定位置开始。
- E remove(int index) 移除列表中指定位置的元素(可选操作)。
- List subList(int fromIndex, int toIndex)返回列表中指定的 fromIndex(包括 )和 toIndex(不包括)之间的部分视图。
遍历方法:
- 1.普通for
- 2.for…each
- 3.iterator
- 4.ListIterator
容器类之一ArrayList(重要)
Vector 向量
- 1)Vector线层安全的容器类|同步的,效率较低。
- 2)扩容原容量的2倍。
LinkedList容器类
常用方法:
- void addFirst(E e) 将指定元素插入此列表的开头。
- void addLast(E e) 将指定元素添加到此列表的结尾。
- E getFirst() 返回此列表的第一个元素。
- E getLast() 返回此列表的最后一个元素。
- boolean offerFirst(E e) 在此列表的开头插入指定的元素。
- boolean offerLast(E e) 在此列表末尾插入指定的元素。
Set接口
遍历方法:
- 1.增强for
- 2.迭代器
HashSet容器类
HashSet存储引用数据类型去重:
- 需要重写hashCode()方法和equals()方法进行自定义类型去重。如果不重写hashCode(),可以遇到没有equals方法这一步就医过滤掉不是相同的对象了,直接存储,不会equals方法比较。hashCode()相同的对象有可能相同可以不相同,进一步比较equals()。hashCode()不相同的对象肯定不相同,过滤掉一写不相同的对象,不需要进一步比较equals方法效率较高。
哈希底层存储数据:
- 对数据进行hash算法算出存放(数组)的位置。位置=数据%9;
- 把当期那数据存放在对应的桶中,存放之前先判断桶中是否存在数据,如果没有直接存放数据,如果存在数据,拿桶中的数据和该数据比较是否相同,如果相同就去重不存放,如果不相同就存放。
- 桶中多个数据用链表结构链接。
- 如果桶中数据超过八个,用红黑树存放。
Comparable接口
Comparator接口
TreeSet容器类
是由TreeMap维护的。
注意:
引用数据类型
- 1)实现内部比较器
- 2)自定义外部比较器
文章来源: https://blog.csdn.net/qq_41899248/article/details/91890650