数组、集合、map

1.数组:不可改变,当我们确认了要存储数据的长度,可用

2.集合类Collection:不确定长度,像一个容器(java.util包  后来java.util.concurrent为多线程而生)

     2.1  List(有序、可重复)

         1)、ArrayList 线性表 可改变的数组

         2)、LinkedList 双向链表

                 a.继承了AbstractSequentialList ,实现了List(能够列表操作)、Deque(能够当双端队列使用)、Cloneable(能克隆)、Serializable(支持序列化,能通过序列化去传输),如图:

                 public

                b.Node内部类:一个节点包含前一个节点和后一个节点,最终形成链表

                  弄得1

                    12

             c.添加方法很多,如add(e)添加到最后一个

                add元

                请问

         d 删除方法很多,如remove()删除第一个

           山

注:get/set方法时,ArrayList优于LinkedList,因为LinkedList要移动指针;add/remove时,LinkedList优于ArrayList,因                     为  ArrayList要移动数据

 

2.2 Set(无序,不可重复)

       set集合像一个罐子,丢进罐子的元素之间没有明显顺序,元素在添加新元素时equal()判断元素是否重复,重复则添加失败

     1)、HashSet 无需、不可重复、元素可为null

            添加元素时 通过equal()判断不同可添加 ,调用hashcode()方法得到hashcode值,根据hashcode值确定 该元素添加的位置

      2)、LinkedHashSet 有序,不可重复、 有HashSet特点,同时以链表方式维护顺序,所以以添加次序添加

      3)、TreeSet 有序 不可重复 使用红黑树算法,擅于范围查找,实现了Compareable接口,所以不能插入null,且升序排序

 

3 Map

  HashMap

  LinkedHashMap

 HashTable

  TreeMap

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值