2022-8-6 第八组 曹雨 集合知识补充
作者:互联网
Collection
- Collection是最基本的集合接口,一个Collection代表一组Object,即Collection的元素(Elements)。
- Java SDK不提供直接继承自Collection的类,Java SDK提供的类都是继承自Collection的“子接口”如List和Set。
List接口
- List是有序的Collection,使用此接口能准确的锁定每个元素的位置,可以通过索引访问List中的元素,类似于java数组。
- List中是允许存在相同的元素的。
- 实现List接口的常用类有LinkedList,ArrayList,Vector和Stack
Set接口
- Set就一种不包含重复元素的Collection,即任意的两个元素都不相等,Set最多有一个null元素。
- Set没有顺序指的是,不按照用户输入的顺序,其实内部有算法对其进行排序
- Set保证数据不重复的方法:保证数据类型的类要重写hashCode和equals方法。
Map
- 存储对值K-V key-value
- key不能重复,value是可以重复的,null可以作为键但是只能有一个,可以有多个key的值为null
- 没有顺序(不按照添加的先后顺序)
- 当get()方法返回null值时,即可以表示Map中没有该键,也可以表示该键所对应的值为null。
因此,在Map中不能由get()方法来判断Map中是否存在某个键,而应该用containsKey()方法来判断。
HashMap
- Map的实现类
- 内部结构在JDK1.7之前是:链表 + 数组,在JDK1.7之后是:链表 + 数组 + 红黑树
Hashtable(于HashMap几乎一模一样)
区别:
- HashMap是线程异步,线程不安全的,Hashtable是线程同步,线程安全
- HashMap的key是可以为null的,Hashtable是不可以为null
List集合的遍历:
-
for循环
-
for each
-
迭代器
使用迭代器执行删除操作可以保证万无一失Iterator<String> iterator = list.iterator(); //如果迭代器能找到下一个元素 while(iterator.hasNext()) { String s = iterator.next(); System.out.println(s); } System.out.println(list); }
标签:曹雨,Set,Map,元素,List,第八,Collection,2022,null 来源: https://www.cnblogs.com/figh466/p/16579217.html