zoukankan      html  css  js  c++  java
  • 【转】Java集合


    1. Set
    Set是一个集合接口,它的特征和数学上的集合有点类似,Set中存放的是对象的引用,继承自Collection接口,它具有如下的特征:
    n          Set中不允许存放重复元素
    n          Set中的元素是无序的
    n          Set主要有HashSet、LinkedHashSet和TreeSet三个实现类

    1.1 HashSet
    HashSet按照特定的Hash算法存取对象,效率较高,存取对象的速度较快。(注意:HashSet中对数据的组织并不是无序的,而是按照Hash算法进行排序)
    1.2 LinkedHashSet
    LinkedHashSet是HashSet的子类,它使用链表数据结构进行数据存取
    LinkedHashSet具有以下特征:
    n          LinkedHashSet内部使用了链表数据结构
    n          LinkedHashSet与HashSet不同之处在于:LinkedHashSet中的元素具有固定的顺序(按照添加顺序组织元素)
    1.3 TreeSet
    TreeSet是一个具有排序功能的集合,特征如下:
    n          添加的元素必须是同一数据类型
    n          对元素的组织形式默认升序
    如果想对加入的自定义类对象进行排序,则自定义类必须实现Comparable接口,并重写compareTo()方法,这样TreeSet才能对加入的对象进行排序。

    2. List
    List是一个集合接口,它继承自Collection接口,List中存放的是对象的引用。List接口具有如下特征:
    n          List中可以存放重复元素
    n          List中的元素是一个有序的集合,可以通过索引访问List中的元素
    n          List主要有ArrayList和LinkedList两个实现类
    2.1 ArrayList
    ArrayList是一个大小可变的数组,它具有快速读取对象的特性,但是如果删除或者插入对象则效率较低,因为每次在位置i上插入一个对象时,从位置i+1到最后的对象都要后移一位;而每次删除位置i上的一个对象,从位置i+1到最后的对象则都要前移一个位置。
    2.2 LinkedList
    LinkedList在内部使用链表的形式存储数据,因此在删除和插入对象时会有较高的效率。如果经常需要在List中插入和删除数据,建议使用LinkedList;如果List中的对象变更很少,建议使用ArrayList

    3.Map
    Map是Java中的一个接口,它是一种重要的集合,它使用key/value的方式存储数据。key/value方式使用value存储内容,利用key作为关键字存取集合中的内容。key和value是一一对应的关系,key值不能重复。Map集合的特性如下:
    n          Map具有较高的存取性能
    n          Map不允许存放重复的key值,但是可以有重复的value值
    n          Map主要有HashMap、LinkedHashMap、TreeMap三个实现类
    3.1 HashMap
    HashMap的特性如下:
    n          HashMap在声明时可以传递参数初始化构造时的大小,如果HashMap中的内容达到了一定的大小,就会自动增长为原来的两倍
    构造函数如下:HashMap(int 初始化大小)
    n          装填因子用来决定向HashMap中装填时的上限,填充因子取值为0到1之间,如果填充因子取值为0.8,HashMap的初始容量为100,则当HashMap中的对象超过100*0.8时,容量会扩展为原来的两倍。
    构造函数如下:HashMap(int 初始化大小,float 填充因子)
    n          HashMap通过HashCode进行内容的快速查找
    n          HashMap中的对象是无序的
    3.2 LinkedHashMap
    LinkedHashMap使用链表结构存储数据,LinkedHashMap的声明如下:
    LinkedHashMap具有下面的特性:
    n          LinkedHashMap不允许有重复的key值
    n          LinkedHashMap内的对象有固定的顺序
    3.3 TreeMap
    TreeMap具有比LinkedHashMap更加强大的排序功能,TreeMap实现了SortedMap接口。主要特征如下:
    n          具有排序功能
    n          自定义排序实现排序功能

  • 相关阅读:
    【华为云技术分享】【我的物联网成长记19】物联网智慧路灯应用代码解析(上)
    【华为云技术分享】跟唐老师学习云网络
    【华为云技术分享】数据管理服务DAS 之 数据库自动化运维功能展播4:慢SQL
    【华为云技术分享】初识MySQL隔离级别
    【华为云技术分享】DAS文件上传组件的进化
    【华为云技术分享】为什么越来越多企业正在往ARM平台迁移?
    【华为云技术分享】云原生数据库三驾马车之TaurusDB
    【华为云技术分享】云图说|超赞!终于有人把云存储“三兄弟”讲清楚了!
    Search for a Range
    Search in Rotated Sorted Array
  • 原文地址:https://www.cnblogs.com/liaobin/p/1756386.html
Copyright © 2011-2022 走看看