JAVA_集合

集合类的继承关系图:
在这里插入图片描述

Object::所有类的父类。
collection:有特定的方法操作它的子类:List ,Set 这两个集合类

==> List 又分为 ArrayList , LinkedList

ArrayList:
保存方式:
采用数组结构保存对象

优点:
数组结构的优点是便于对集合进行快速的随机访问,如果经常需要根据索引位置访问集合中的对象,使用由ArrayList类实现的List集合的效率较好

缺点:
当删除指定索引位置的对象时,会同时将指定索引位置之后的所有对象相应的向前移动一位。如果在指定的索引位置之后有大量的对象,将严重影响对集合的操作效率。

LinkedList:
保存方式:
采用链表结构保存对象

优点:
如果经常需要向集合中插入对象,或者是从集合中删除对象,使用由LinkedList类实现的List集合的效率较好

缺点:
链表结构的缺点是随机访问对象的速度较慢,如果经常需要随机访问集合中的对象

==> Set 又分为 HashSet, TreeSet

HashSet:

优点:
能够快速定位集合中的元素
集合中的对象必须是唯一的

用法:
1.要重新实现equals()方法,从而保证插入集合中对象的标识的唯一性。
2.还需要重新实现hashCode()方法,从而保证插入集合中的对象能够合理地分布在集合中,以便于快速定位集合中的对象。

TreeSet:
http://www.cnblogs.com/yzssoft/p/7127894.html
作用:
TreeSet集合是用来对象元素进行排序的,同样他也可以保证元素的唯一。
compareTo方法来做排序:
此方法用于将 Number 对象与方法的参数进行比较。可用于比较 Byte, Long, Integer等。
用于两个相同数据类型的比较,两个不同类型的数据不能用此方法来比较。

==> Map又分为 HashMap, TreeMap

HashMap:
HashMap类实现的Map集合,无序
通过哈希码对其内部的映射关系进行快速查找
HashMap类实现的Map集合对于添加和删除映射关系更高效。

TreeMap:
映射关系存在一定的顺序,在遍历集合时是有序的,
根据健对象进行升序降序


        Map< Integer, String> map=new TreeMap<>(new Comparator<Integer>() {
            
            @Override
            public int compare(Integer o1, Integer o2) {
//                return o1.compareTo(o2);       //按照key值大小升序排列       -o1.compareTo(o2)即o2.compareTo(o1)按照key值大小降序排列
                return -1;                     //按put反顺序排序      1则为 put顺序排列
            }
        });
        map.put(5, "a");
        map.put(3, "c");
        map.put(4, "b");
        map.put(2, "d");
        map.put(1, "e");
        for(Entry<Integer, String> aEntry:map.entrySet()) {
            System.out.println(aEntry.getKey()+":"+aEntry.getValue());
        }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值