标签:曹雨 Set Map 元素 List 第八 Collection 2022 null
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
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。