Collection接口  与  Map接口

1 、collection接口

特点:元素是 无序可重复的集合,无索引的,元素是单例值

子类 :set接口  list接口

1.1 set接口

 特点:元素是无需不重复,无索引,底层数据结构是哈希表

对应引用类型元素依赖两个方法:hashCode()和equels()来保证元素的唯一性

  实现类:

Hashset实现类

特点: 添加元素是无序不重复,无索引的

实现类:LinkedHashSet

特点:元素有序不重复的

TreeSet实现类

特点: 元素是不重复可排序的(默认升序)

底层数据结构是红黑树

 

1.2 List接口

特点:元素是有序有索引可重复的

实现类:

LinkedList:底层数据结构是链表,查询慢,增删快。线程不安全,效率高

Vector 底层数据结构是数据,查询快,增删慢。线程安全,效率低

ArrayList  底层数据结构是数据,查询快,增删慢。线程不安全,效率高

2 、map接口

特点:元素是键值对,元素特性有“键”决定,键的要求是无需不重复

实现类:

2.1 HashMap实现类

特点:元素是无需不重复的,线程不安全,性能好,高并发下容易出现问题

底层数据结构是哈希表      允许存放null键null值

LinkedHashMap实现类:元素是有序不重复的额,新加了链保证添加顺序

2.2 IdetityHashMap 实现类:严格按照元素的引用进行重复比较,无序不重复的

2.3 Hashtable 实现类: 元素是无序不重复的,线程安全,使用共享锁,性能差,高并发下竞争越激烈性能越差     不允许存放null键null值

2.4 ConcurrentHashMap 实现类: 元素是无序不重复的,线程安全,使用分段锁,性能得到了优化,高并发下建议使用

2.5 TreeMap 实现类:  元素是不重复课排序的额(默认升序), 底层数据结构基于红黑树  对应引用类型元素依赖两个方法:hashCode()和equals()来保证元素值得唯一性

2.6 Properties 实现类:通常用于生成或者解析属性配置文件,属性文件中的数据就是键值对

java集合架构的更多相关文章

  1. Java 集合系列 08 Map架构

    java 集合系列目录: Java 集合系列 01 总体框架 Java 集合系列 02 Collection架构 Java 集合系列 03 ArrayList详细介绍(源码解析)和使用示例 Java ...

  2. Java 集合系列 02 Collection架构

    java 集合系列目录: Java 集合系列 01 总体框架 Java 集合系列 02 Collection架构 Java 集合系列 03 ArrayList详细介绍(源码解析)和使用示例 Java ...

  3. Java 集合系列目录(Category)

    下面是最近总结的Java集合(JDK1.6.0_45)相关文章的目录. 01. Java 集合系列01之 总体框架 02. Java 集合系列02之 Collection架构 03. Java 集合系 ...

  4. Java 集合系列 09 HashMap详细介绍(源码解析)和使用示例

    java 集合系列目录: Java 集合系列 01 总体框架 Java 集合系列 02 Collection架构 Java 集合系列 03 ArrayList详细介绍(源码解析)和使用示例 Java ...

  5. Java 集合系列 10 Hashtable详细介绍(源码解析)和使用示例

    java 集合系列目录: Java 集合系列 01 总体框架 Java 集合系列 02 Collection架构 Java 集合系列 03 ArrayList详细介绍(源码解析)和使用示例 Java ...

  6. Java 集合系列 17 TreeSet

    java 集合系列目录: Java 集合系列 01 总体框架 Java 集合系列 02 Collection架构 Java 集合系列 03 ArrayList详细介绍(源码解析)和使用示例 Java ...

  7. Java 集合系列 16 HashSet

    java 集合系列目录: Java 集合系列 01 总体框架 Java 集合系列 02 Collection架构 Java 集合系列 03 ArrayList详细介绍(源码解析)和使用示例 Java ...

  8. Java 集合系列 15 Map总结

    java 集合系列目录: Java 集合系列 01 总体框架 Java 集合系列 02 Collection架构 Java 集合系列 03 ArrayList详细介绍(源码解析)和使用示例 Java ...

  9. Java 集合系列 14 hashCode

    java 集合系列目录: Java 集合系列 01 总体框架 Java 集合系列 02 Collection架构 Java 集合系列 03 ArrayList详细介绍(源码解析)和使用示例 Java ...

随机推荐

  1. Winform 窗体获得焦点

    给窗体添加Shown事件 public void Form_Shown(object sender, EventArgs e) { this.Activate(); this.Focus(); //定 ...

  2. spring MVC 的MultipartFile转File读取

    转自:http://www.cnblogs.com/hahaxiaoyu/p/5102900.html 第一种方法:   MultipartFile file = xxx;         Commo ...

  3. css实现超出两行隐藏

    overflow:hidden; text-overflow:ellipsis; display:-webkit-box; -webkit-box-orient:vertical; -webkit-l ...

  4. php-cgi占用太多cpu资源而导致服务器响应过慢

    服务器环境:redhat linux 5.5 , nginx ,  phpfastcgi 在此环境下,一般php-cgi运行是非常稳定的,但也遇到过php-cgi占用太多cpu资源而导致服务器响应过慢 ...

  5. [Swift]LeetCode48. 旋转图像 | Rotate Image

    You are given an n x n 2D matrix representing an image. Rotate the image by 90 degrees (clockwise). ...

  6. [Swift]LeetCode49. 字母异位词分组 | Group Anagrams

    Given an array of strings, group anagrams together. Example: Input: ["eat", "tea" ...

  7. [Swift]LeetCode131. 分割回文串 | Palindrome Partitioning

    Given a string s, partition s such that every substring of the partition is a palindrome. Return all ...

  8. [Swift]LeetCode375. 猜数字大小 II | Guess Number Higher or Lower II

    We are playing the Guess Game. The game is as follows: I pick a number from 1 to n. You have to gues ...

  9. [Swift]LeetCode905. 按奇偶排序数组 | Sort Array By Parity

    Given an array A of non-negative integers, return an array consisting of all the even elements of A, ...

  10. [Swift]LeetCode911. 在线选举 | Online Election

    In an election, the i-th vote was cast for persons[i] at time times[i]. Now, we would like to implem ...