Java集合框架

Java集合框架:

集合框架中常用类比较

•    用“集合框架”设计软件时,记住该框架四个基本接口的下列层次结构关系会有用处:

–  Collection 接口是一组允许重复的对象。

–  Set 接口继承Collection,但不允许重复。

–  List 接口继承Collection,允许重复,并引入位置下标。

–  Map 接口既不继承Set 也不继承Collection, 存取的是键值对。

 

总结:

1.      实现了List接口的类元素均可重复,元素顺序按加入顺序排列;

2.      实现了Set接口的类元素均不能重复,元素顺序分几种情况;

3.      实现了Map接口的类Key均不可重复,元素顺序分几种情况;

4.      只要类中出现Linked的类元素顺序按插入顺序排列,因为其实现了数据结构中的链表;

5.      只要类中出现Tree的类元素均不可重复且必须是同一数据类型,因为其实现了用二叉树排序的功能,其中会涉及元素的比较,只有相同类型的数据类型才可比较,除非是其重写了CompareTo方法。

 

 主要集合类简单描述:

           List接口:  继承 Collection,允许重复,有序集合,可以通过索引来访问指定位置的集合元素(顺序索引从0开始),List集合默认按元素的添加顺序来设置元素的索引

              |----ArrayList  

                           底层数据结构是数组,线程不安全。 增删慢,查询快。             

              |----LinkedList

                           底层数据结构是双向链表,线程不安全。增删快,查询慢       

              |----Vector

                       底层数据结构是数组,线程安全。增删慢,查询快。但是,线程安全,效率就低。     

         Set接口: 继承 Collection,但不允许重复,无序集合(存入与取出的顺序不一定一致)拥有自己的内部排列机制。

            |----HashSet

                   基于哈希表实现,是线程不安全的。通过两个元素的hashcode和equals来元素唯一性。

                    |----TreeSet

                    基于二叉树实现,是线程不安全的。其保证元素的唯一性的依据,compareTo方法return 0。 

               

         Map接口: 一组成对的键-值对象,Map中不能有重复的键,拥有自己的内部排列机制。

             |----HashTable:

                          底层是哈希表数据结构,不可以存入null键null值,该集合是线程安全的。

             |----HashMap:

                        底层是哈希表数据结构,允许使用入null键null值,该集合是不安全的,将HashTable代替。

             |----TreeMap: 

                        底层是二叉树数据结构,线程不同步;可以用于给Map集合中的键进行排序。和set很像,set底层就是用了Map集合;  

             

         重要的两个遍历扩展接口: 

       Iterator接口:迭代器,实现对集合中元素的遍历操作,很好的体现了内部类的设计。

                1.调用iterator()获得集合的Iterator;

                     2.使用循环不断调用hasNext()方法,判断是否还有元素;

                     3.在循环体内,调用next()方法获取每个元素

       ListIterator接口:获取List的迭代器

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值