JAVA 中集合类的关系

##JAVA 中集合类的关系

数组于集合的区别:
1,数组是固定长度的;集合是可变长度的
2,数组可以存储基础数据类型,也可以存储引用数据类型;集合只能存储引用数据类型
3,数组存储的元素必须是同一数据类型;集合存储的对象可以是不同数据类型

Collection:
–List:有序(存入取出顺序一致),元素都有索引,元素可以重复
–Set:无序(存入取出顺序可能不一致),不可能存储重复元素。必须保证元素唯一行

将集合变成数组:
toArrary();

TreeSet:
用于对set集合进行元素的指定顺序排序,排序需要依据元素自身具备的比较性
TreeSet集合排序有两种方式,Comparable和Comparator区别:
1:让元素自身具备比较性,需要袁术对象实现Comparable接口,覆盖comparaTo方法。
2:让集合自身具备比较性,需要定义一个实现了Comparator接口的比较器,并覆盖Compara方法,并将该对象作为实际参数传递给TreeSet集合的构造函数。

Map:
–Hashtable:底层是哈希表数据结构,是线程同步的。不可以存储null键,null值。
–HashMap:底层是哈希表数据结构,是线程不同步的,可以存储null键,null值。替代了Hashtable
–TreeMap:底层是二叉树结构,可以对Map集合中的键值进行指定顺序的排序。

map集合存储和collection有着很大的不同:
collection一次存一个元素;map一次存一对元素。
collection是单列集合;map是双列集合。
map中的存储的一对元素:一个是键,一个是值,键与值之间有对应关系

把map集合合并转换成set的方法:
Set keySet();
Set entrySet();
取出map集合中所有元素的方式一:keySet()方法。

Set keyset = map.keyset();
Iterator it = keySet.iterator();
while(it.hasNext()){
        object key = it.next();
        object value = map.get(key);
        System.out.println(key+":"+value);
}

取出map集合中所有元素的方式二:entrySet()方法。

Set entrySet = map.entrySet ();
Iterator it = entrySet .iterator();
while(it.hasNext()){
        Map.Entry me = (map.Entry)it.next();
        System.out.println(me.getKey()+":::"+me.getValue());
}

使用集合的技巧:
看到Array就是数组结构,有角标,查询速度很快。
看到Link就是链表结构:增加速度快,而且有特有方法。addFirst;addLast;removeFirst();
removeLast();getFirst();getLast();
看到hash();就要想到唯一性,就要想到存入到该结构的中的元素必须覆盖hashCode,equals方法。

LinkedHashSet,LinkedHashMap:这两个集合可以保证哈希表有存入顺序和取出顺序一致,保证哈希表有序。

存储一个元素时就用Collecion,当存储对象之前存在着映射关系时,就使用Map集合。保证唯一,就用Set。不保证唯一,就用List。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值