zoukankan      html  css  js  c++  java
  • 介绍Collection框架的结构;Collection 和 Collections的区别

    集合框架:

    Collection:List列表,Set集

    Map:Hashtable,HashMap,TreeMap

    Collection  是单列集合

    1. List   元素是有序的、可重复

        有序的 collection,可以对列表中每个元素的插入位置进行精确地控制。

        可以根据元素的整数索引(在列表中的位置)访问元素,并搜索列表中的元素。 

        可存放重复元素,元素存取是有序的。

        List接口中常用类

    • Vector:线程安全,但速度慢,已被ArrayList替代。

        底层数据结构是数组结构

    • ArrayList:线程不安全,查询速度快。

                底层数据结构是数组结构

    • LinkedList:线程不安全。增删速度快。

                 底层数据结构是列表结构

    1. Set(集) 元素无序的、不可重复。

        取出元素的方法只有迭代器。不可以存放重复元素,元素存取是无序的。

    Set接口中常用的类

    •  HashSet:线程不安全,存取速度快。

            它是如何保证元素唯一性的呢?依赖的是元素的hashCode方法和euqals方法。

    •  TreeSet:线程不安全,可以对Set集合中的元素进行排序。

     它的排序是如何进行的呢?通过compareTo或者compare方法中的来保证元素的唯一性。元素是以二叉树的形式存放的。

    Map  是一个双列集合

    • Hashtable:线程安全,速度快。底层是哈希表数据结构。是同步的。

    不允许null作为键,null作为值。

          |--Properties:用于配置文件的定义和操作,使用频率非常高,同时键和值都是字符串。

    是集合中可以和IO技术相结合的对象。(到了IO在学习它的特有和io相关的功能。)

    • HashMap:线程不安全,速度慢。底层也是哈希表数据结构。是不同步的。

    允许null作为键,null作为值。替代了Hashtable.

       |--LinkedHashMap: 可以保证HashMap集合有序。存入的顺序和取出的顺序一致。

    • TreeMap:可以用来对Map集合中的键进行排序.

    Collection 和 Collections的区别

     =======================================================================================================

    Collection是集合类的上级接口,子接口主要有Set 和List。 

    Collections是针对集合类的一个帮助类,提供了操作集合的工具方法:一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作。

    转载自 http://blog.sina.com.cn/s/blog_105817120102vzh6.html

  • 相关阅读:
    根据访问ip的地区跳转到指定地址
    js生成vCard,以及格式参数详细说明
    min_to_split_multiprocessing多进程,用于平时快速补充数据
    min_to_split.py按日存储到按个股存储
    readzip_minute_data 多进程处理数据
    打包成7zfile,to7zfile
    baostock_multiprocessing 多进程取数据
    终止阻塞线程(有共享锁的线程无效)
    readzip_add_maxL3多线程
    readzip_add_maxL2
  • 原文地址:https://www.cnblogs.com/sutao/p/8794418.html
Copyright © 2011-2022 走看看