• 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,谢谢合作。

  • 相关阅读:
    【leetcode】Partition List
    【USACO】Transformations
    【USACO】Milking Cows
    R语言学习笔记——Base Graphics
    【Tech】YCSB-0.1.3安装使用
    【Tech】Ganglia安装配置
    【leetcode刷题笔记】Remove Duplicates from Sorted List
    【leetcode】Populating Next Right Pointers in Each Node
    【leetcode刷题笔记】Spiral Matrix
    js中定时器的使用
  • 原文地址:https://www.cnblogs.com/zengming/p/9413029.html
Copyright © 2020-2023  润新知