List&Set集合、Collections工具类

1 List集合

(1)List是Colleciton接口的一个子接口,常用的实现类有ArrayList  LinkedList

(2)List集合的特点

       (1)存储单个元素,元素可重复,可以存储多个null

       (2)存储有序,存入顺序和取出来的顺序一致(例如:add(1);add(2);add(3); 遍历打印集合  1,2,3);

       (3)元素具有索引值,所以方法中很多都是具有索引值参数

(3)常用方法(省略Collection中继承的方法)

        (1)public void add(int index,E element):添加新元素

        (2)public E get(int index):获取对应索引的元素

        (3)public E remove(int index):移除对应索引的元素,返回被移除的元素

        (4)public E set(int index,E element):替换对应索引的元素,返回被替换掉的元素

(4)常用子类

       (1)ArrayList

             1)底层采用数组结构,查询快(直接根据索引获取对应元素),增删慢(添加或删除某个元素,需要移动数组中其他数组,如果容量不够,还要重新创建一个数组,将原来的数据拷贝进去,所以速度慢)

       (2)LinkedList

             1)底层采用双向循环链表,查询慢(要获取某个元素,需要逐级遍历),增删快(直接改变指地址指向即可)

                              

             2)LinkedList中特有的一些方法

                  1)public void addFirst(E e) :将指定元素插入此列表的开头。
                  2)public void addLast(E e) :将指定元素添加到此列表的结尾。
                  3)public E getFirst() :返回此列表的第一个元素。
                  4)public E getLast() :返回此列表的最后一个元素。
                  5)public E removeFirst() :移除并返回此列表的第一个元素。
                  6)public E removeLast() :移除并返回此列表的最后一个元素。
                  7)public E pop() :从此列表所表示的堆栈处弹出一个元素(内部调用removeFirst)
                  8)public void push(E e) :将元素推入此列表所表示的堆栈(内部调用addFirst)
                  9)public boolean isEmpty() :如果列表不包含元素,则返回true

 

 2 Set集合

(1)Set是Collection的一个子接口,常用的实现类有HashSet、TreeSet

(2)特点:

       1)存储单个元素,元素不能重复,可以存储null,但只能出现一次

       2)存储元素不能保证存储有序,是按照底层数据结构规则进行存储;

       3)存储元素不具备索引值

(3)常用实现类

       1)HashSet

              1)底层使用哈希表结构,查询速度快,基于HashMap实现,哈希表结构如图1(元素内部不同但出现计算的hash值相同,就把新元素挂载在旧元素,下形成链表结构,jdk1.8后,如果挂载元素超过8个,从链表变为红黑树结构,提高访问速度);

              2)被存储的元素需要重写hashCode和equals方法,HashSet会自动调用这两个方法来判断元素是否重复

        2)LinkedHashSet

              1)是HashSet的子类,底层采用哈希表+链表的数据结构,实现了存储的有序

 

3 Collections工具类

(1)常用方法

       1)public static <T> boolean addAll(Collection<T> c, T... elements) :往集合中添加多个元素。
       2)public static void shuffle(List<?> list) 打乱集合中元素顺序。
       3)public static <T> void sort(List<T> list) :将集合中元素按照默认规则排序,元素需要实现Comparable内部比较器  
       4)public static <T> void sort(List<T> list,Comparator<? super T> ) :将集合中的元素按照传入的外部比较器的规则进行排序,传入外部比较器的方式比较灵活,一般选用这种方式进行比较。

 

 

 

 

 

 

 

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值