【一分钟知识】常用集合List、Map、Set

Collection和Collections的区别

  • Collection是一个接口,它是Set、List等容器的父接口;
  • Collections是个一个工具类,提供了一系列的静态方法来辅助容器操作,这些方法包括对容器的搜索、排序、线程安全化等等

List、Map、Set

  • List
    • 可以允许重复的对象。
    • 可以插入多个null元素。
    • 是一个有序容器,保持了每个元素的插入顺序,输出的顺序就是插入的顺序。
    • 常用的实现类有 ArrayList、LinkedList 和 Vector。ArrayList 最为流行,它提供了使用索引的随意访问,而 LinkedList 则对于经常需要从 List 中添加或删除元素的场合更为合适
  • Set
    • 不允许重复对象
    • 无序容器,你无法保证每个元素的存储顺序,TreeSet通过 Comparator 或者 Comparable 维护了一个排序顺序。
    • 只允许一个 null 元素
    • Set 接口最流行的几个实现类是 HashSet、LinkedHashSet 以及 TreeSet。最流行的是基于 HashMap 实现的 HashSet;TreeSet 还实现了 SortedSet 接口,因此 TreeSet 是一个根据其 compare() 和 compareTo() 的定义进行排序的有序容器。
  • Map
    • Map不是collection的子接口或者实现类。Map是一个接口。
    • Map 的 每个 Entry 都持有两个对象,也就是一个键一个值,Map 可能会持有相同的值对象但键对象必须是唯一的。
    • TreeMap 也通过 Comparator 或者 Comparable 维护了一个排序顺序。
    • Map 里你可以拥有随意个 null 值但最多只能有一个 null 键。
    • Map 接口最流行的几个实现类是 HashMap、LinkedHashMap、Hashtable 和 TreeMap。(HashMap、TreeMap最常用)

原文发布于微信公众号 - java思维导图(java-mindmap)

原文发表时间:2018-02-08

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏大闲人柴毛毛

图的遍历(BFS+DFS)

图的遍历与树的遍历基本类似,但要注意两个不同: 1. 图中可能有环路,因此可能会导致死循环; 2. 一个图可能由多个独立的子图构成,因此一条路径走到头...

45611
来自专栏博岩Java大讲堂

Java集合--Set(基础)

3957
来自专栏来自地球男人的部落格

Comparison method violates its general contract!

今天在刷LeetCode题目的时候,问题使用HashMap按照value排序来解决,自定义比较器,但是报错:java.lang.IllegalArgumentE...

2758
来自专栏开发之途

Java集合框架源码解析之LinkedHashMap

1273
来自专栏java一日一条

Java 容器 & 泛型(2):ArrayList 、LinkedList和Vector比较

序列(List),有序的Collection,正如它的名字一样,是一个有序的元素列表。确切的讲,列表通常允许满足 e1.equals(e2) 的元素对 e1 和...

1021
来自专栏wannshan(javaer,RPC)

JDK PriorityBlockingQueue remove(Object o) 源码分析

先知道PriorityBlockingQueue 是利用数组存储二叉堆实现。最小值(最优先)放在queue[0]位置。 //删除某个元素 public bool...

3727
来自专栏JavaNew

Java集合:整体结构

1845
来自专栏mukekeheart的iOS之旅

Java基础——集合框架

  Java的集合框架是Java中很重要的一环,Java平台提供了一个全新的集合框架。“集合框架”主要由一组用来操作对象的接口组成。不同接口描述一组不同数据类型...

2726
来自专栏desperate633

LintCode 全排列题目分析

添加的时候排除掉相同的元素即可,回溯法我们经常会设置一个已访问标识数组,来表示数组被访问过,但这里不用这样,因为如果list里面已经包含就说明已经访问过了,所以...

781
来自专栏Android机动车

数据结构学习笔记——线性表(下)

了解过线性表的链式存储结构以后,有人就想出来用数组来代替指针,来描述单链表。看看他们是怎么做到的。

501

扫码关注云+社区

领取腾讯云代金券