Java集合类分析,初始化

Posted 水木山川

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java集合类分析,初始化相关的知识,希望对你有一定的参考价值。

Java集合是常用的数据类型,在此详细分析接口和实现类。整个集合框架就围绕一组标准接口而设计,学习集合框架有助开发实践。

框架体系图

1.Collection 接口
Collection 是最基本的集合接口,一个 Collection 代表一组 Object,即 Collection 的元素, Java不提供直接继承自Collection的类,只提供继承于的子接口(如List和set)。Collection 接口存储一组不唯一,无序的对象。

2.List 接口
List接口是一个有序的 Collection,使用此接口能够精确的控制每个元素插入的位置,能够通过索引(元素在List中位置,类似于数组的下标)来访问List中的元素,第一个元素的索引为 0,而且允许有相同的元素。List 接口存储一组不唯一,有序(插入顺序)的对象。

3.Set
Set 具有与 Collection 完全一样的接口,只是行为上不同,Set 不保存重复的元素。Set 接口存储一组唯一,无序的对象。

4.SortedSet
继承于Set保存有序的集合。
5.Map
Map 接口存储一组键值对象,提供key(键)到value(值)的映射。

6.Map.Entry
描述在一个Map中的一个元素(键/值对)。是一个Map的内部类。

7.SortedMap
继承于 Map,使 Key 保持在升序排列。

8.Enumeration
这是一个传统的接口和定义的方法,通过它可以枚举(一次获得一个)对象集合中的元素。这个传统接口已被迭代器取代。

Set和List的区别:
  1. Set 接口实例存储的是无序的,不重复的数据。List 接口实例存储的是有序的,可以重复的元素。
  2. Set检索效率低下,删除和插入效率高,插入和删除不会引起元素位置改变 <实现类有HashSet,TreeSet>。
  3. List和数组类似,可以动态增长,根据实际存储的数据的长度自动增长List的长度。查找元素效率高,插入删除效率低,因为会引起其他元素位置改变 <实现类有ArrayList,LinkedList,Vector> 。

集合初始化设值

        int[] ints = new int[] {1, 2, 3, 4, 5, 6};
        Integer[] integers = new Integer[] {1, 2, 3, 4, 5, 6};
        List<String> list = new ArrayList<String>()
        {{
            add("abc");
            add("def");
        }};

        Map<String, Object> map = new HashMap<String, Object>()
        {{
            put("abc", "def");
            put("", "");
        }};
        Set<String> set = new HashSet<String>()
        {{
            add("abc");
            add("def");
        }};
        Queue<String> queue = new LinkedBlockingQueue<String>()
        {{
            add("abc");
            add("def");
        }};

 

备注:
作者:Shengming Zeng
博客:http://www.cnblogs.com/zengming/ https://blog.csdn.net/Z645817
严正声明:
1.由于本博客部分资源来自互联网,版权均归原作者所有。转载的目的是用于学术交流与讨论学习,将不对任何资源负法律责任。
2.若无意中侵犯到您的版权利益,请来信联系我,我会在收到信息后会尽快给予处理!
3.所有资源内容仅供学习交流之用,请勿用作商业用途,谢谢。
4.如有转发请注明出处,来源于http://www.cnblogs.com/zengming/ https://blog.csdn.net/Z645817,谢谢合作。

以上是关于Java集合类分析,初始化的主要内容,如果未能解决你的问题,请参考以下文章

Java集合类-ArrayList分析

Java源码分析集合框架-Collections工具类-Arrays工具类

Java源码分析集合框架-Collections工具类-Arrays工具类

Java集合类的使用场景

java集合类源码分析之List

为什么阿里巴巴建议集合初始化时,指定集合容量大小?