集合框架

一:List接口
List接口继承了Collection接口,称为有序集合,常用类ArrayLIst和LinkedList。
ArrayLIst和LinkedList的区别:
1.ArrayLIst是需要而增长的动态数组,长度是固定,不能修改长度,LinkedList是Link的双向数据结构,链表是一种在物理上非连续,非顺序的数据结构。
2.对于随机访问get和set。ArrayLIst优于LinkedList,因为ArrayList要移动指针。
3.对于新增删操作add和remove,LinkedList比较占优势,因为
ArrayLIst要移动数据
二:Set接口
实现Set接口常用类有HashSet和TreeSet,HashSet存储顺序为无序的,TreeSet存储顺序为有序的,排序后为升序。注意:Set没有get()方法。
Set中元素不可以重复,是无序的(这里无序是指存入元素的先后顺序与输出元素的先后顺序不一致)
HashSet和TreeSet的区别
1:内部的数据结构是哈希表。
HashSet中保证集合中元素是唯一的方法:通过对象的hashCode和equals方法来完成对象唯一性的判断。
(如果对象的hashCode值不同,则不用判断equals方法,就直接存到HashSet中。)
注意:如果元素要存储到HashCode中,必须覆盖hashCode方法和equals方法。
2:TreeSet采用二叉树(红黑树)的存储结构。
TreeSet对元素进行排序的方式:
三:Map接口
TreeMap是有序的,HashMap和HashTable是无序的
HashTable的方法是同步的,HashMap不是同步的
HashMap是最常用的Map,它根据建的hashcode值存储数据,根据键可以直接获取它的值,HashMap最多只允许一条记录键为Null(多条会覆盖)。
HashMap重速度,轻安全,是线程非安全的,HashMap允许null值
四:Map接口和Collection接口
1.Map存储的是键值对

2.Map存储元素使用put方法,Collection使用add方法

3.Map集合没有直接取出元素的方法,而是先转成Set集合,在通过迭代获取元素

4.Map集合中键要保证唯一性
五、Map中常见方法:
1、添加: put(K key, V value) (可以相同的key值,但是添加的value值会覆盖前面的,返回值是前一个,如果没有就返回null)
2、删除:remove() 删除关联对象,指定key对象
clear() 清空集合对象
3、获取
value get(key); 可以用于判断键是否存在的情况。当指定的键不存在的时候,返回的是null。
六:遍历Map的方式:
1、将map 集合中所有的键取出存入set集合。
Set keySet() 返回所有的key对象的Set集合,再通过get方法获取键对应的值。
2、 values() ,获取所有的值.
Collection values()不能获取到key对象

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值