美文网首页
Java集合

Java集合

作者: onweer | 来源:发表于2016-02-06 22:35 被阅读50次

集合是数据存储中,重要的容器对象。


单列集合

  • Collection 单例集合根接口
    • List 实现了List接口的集合类 特点: 有序,可重复
      • ArrayList 实现了List接口 底层使用数组 特点:速度快,增删慢
      • LinkedList 底层使用链表数据结构, 特点: 查询速度慢,增删快
      • Vector 底层使用数组 特点:对比ArrayList线程安全,效率低
    • Set 实现了Set接口的集合类 特点: 无序, 不可重复
      • HashSet 底层使用Hash表实现, 特点: 存取速度快
      • TreeSet 底层使用二叉树实现 特点: 排序存储

<pre>注意: HashSet <h6>1.HashSet先调用HashCode方法算出Hash值,对比Hash值.相同进行第二步,建议重写HashCode方法
</h6><h6>2.调用对象的Equals方法,建议重写Equals方法</h6>
</pre>
<pre>注意:TreeSet<h6>1.元素具备自然排序的特点,就按照自然顺序进行排序</h6><h6>2.如果元素不具备自然排序的特点,那么元素需要实现Comparable接口,自定义比较规则,重写CompareTo方法</h6></pre>


双列集合

  • Map 键值对存储 键不可重复,值可重复
    • HashMap 底层哈希表
    • TreeMap 底层二叉树

ArrayList Demo

    public static void main(String[] args) {
        ArrayList<String> array = new ArrayList<String>();
        array.add("First");
        array.add("Second");
        array.add("Three");
        for (int i = 0; i < array.size(); i++) {
            System.out.println(array.get(i));
        }
    }

Console

First
Second
Three


HashSet Demo

    public static void main(String[] args) {
        HashSet<String> hSet = new HashSet<>();
        hSet.add("First");
        hSet.add("Second");
        hSet.add("Three");
        // Iterator 遍历
        Iterator<String> it = hSet.iterator();
        while(it.hasNext()){
            System.out.print(it.next() + ",");
        }
    }
// 注意 :while中不能直接修改元素个数

Console

Second,First,Three,


HashMap Demo

    public static void main(String[] args) {
        HashMap<String,Integer> map = new HashMap<>();
        map.put("Fisrt", 1);
        map.put("Second",2);
        map.put("Three", 3);
        Set<Entry<String,Integer>> entrys= map.entrySet();
        // 遍历
        for (Entry<String, Integer> entry : entrys) {
            System.out.println("Key :" + entry.getKey() + "Value :" + entry.getValue());
        }
    }

Console

Key :SecondValue :2
Key :FisrtValue :1
Key :ThreeValue :3


给个github follow me的链接,上面有很多初学者可供学习的资料,项目.

<a>https://github.com/SuperZee</a>

相关文章

  • 一篇文章,全面解读Android面试知识点

    Java Java基础 Java集合框架 Java集合——ArrayList Java集合——LinkedList...

  • 收藏夹

    博文 Java 集合:Java 集合学习指南 Java 集合:Java 集合源码剖析 HashMap:HashMa...

  • Java 集合框架_开篇

    Java 集合框架系列 Java 集合框架_开篇Java 集合框架_ListJava 集合框架_ArrayList...

  • Java 集合框架_List

    Java 集合框架系列 Java 集合框架_开篇Java 集合框架_ListJava 集合框架_ArrayList...

  • 9、java集合

    1、什么是java集合 java集合是用来存储多个数据引用的数据类型。 2、java集合分类 java集合类在ja...

  • 【集合框架】

    集合框架(怎么实现、适用场景) hash相关 Java集合框架 Java集合框架综述Java集合框架面试问题集锦 ...

  • Java基础——集合体系Map详解

    Java基础——集合体系Map详解 上文中我们了解了集合体系中的单列集合:Java基础——集合以及Java集合——...

  • Java基础

    Java集合框架 一、Java集合类简介: Java集合大致分为四种体系:Set:无序、不可重复的集合List:有...

  • JavaSE集合类

    JavaSE集合类 概述 Java中集合类概述Java中数组与集合的比较Java中集合框架层次结构 Collect...

  • 集合系列(一):集合框架概述

    集合系列(一):集合框架概述 Java 集合是 Java API 用得最频繁的一类,掌握 Java 集合的原理以及...

网友评论

      本文标题:Java集合

      本文链接:https://www.haomeiwen.com/subject/wxrykttx.html