括号为是否线程安全
list: LinkedList(no) ArrayList(no) Vector(yes)
Stack(yes)
map: HashMap(no) LinkedHashMap(no) HashTable(yes)
WeakHashMap TreeMap
set: HashSet(no) LinkedHashSet(no)
SortedSet TreeSet
最常用的好像为每行的前两个
特征:
1.
Linked开头的适合快速插入,删除元素, linked维护元素插入的次序
2. Set 在 HashMap
的基础上实现, 所以Set结尾的key是不会重复的
3. Tree开头的是每次改变发生排序的, 速度慢
适
用:
1. 需要快速插入,删除元素, 用 LinkedList; 需要快速随机访问元素,用 ArrayList
2.
Vector 类似 ArrayList, 但是是同步的
3. Stack 继承 Vector , 是后进先出的堆栈
4.
HashMap, put进去的对象位置会发生变化, LinkedHashMap 则不会
5.
HashSet 是专门为快速查询而设计的, 插入会产生排序(LinkedHashSet 不会),
存入HashSet的对象必须定义hashCode方法
6. SortedSet 是保持元素的有序顺序的Set接口, 添加到
SortedSet 实现类的元素必须实现Comparable接口, TreeSet 类是它的唯一一份实现
其
它:
1.
非同步的可以进行外部同步,或者使用Collections.synchronizedMap()的方法包装成一个thread-safe的
Map/Set
2.
LinkedHashMap支持两种排序:插入顺序、访问顺序。前者是指按照插入时的顺序排序,后者是指按照最旧使用到最近使用的顺序
3.
既然 Set 在 HashMap 的基础上实现, 那么 HashMap 和 HashSet 有什么区别吗?
答:
HashMap提供get和put方法, 允许null 值和null 键; HashSet
提供add、remove、contains和size方法, 允许null 元素; 其它未知
分享到:
相关推荐
Java基础知识汇总之集合框架List、Map、Set接口及其子类综合对比
Collection 集合框架的顶级接口是 Collection,下面有三个主要的子接口:List、Set 和 Map。 List 集合是一种有序集合,可以存储重复元素,每个元素都有索引。ArrayList 和 LinkedList 是 List 集合的两个常用的...
详细描述map、list、set的常用子类特性,各个场景的适用。
集合框架包含collection和map的子类。其中collection包含list、set和queue。map包括hashmap、hashtable和treemap
首先,Collection接口是所有集合类型的父接口,它分为两个主要子接口:List和Set。List接口用于存储有序的、可重复的元素,它允许通过索引来访问元素,如ArrayList和LinkedList。ArrayList基于数组实现,提供快速...
### Java集合Collection、List、Set、Map使用详解 #### 集合框架概述 ##### 容器简介 在Java编程中,容器(Container)的概念至关重要。容器是用来存储和管理对象的一种方式,它允许程序员高效地处理大量数据。...
本教程将深入探讨三种主要的集合类型:List、Set和Map,以及几种常用的循环语句,如forEach、map、where、any和every。这些概念对于理解Dart中的数据处理至关重要。 1. **List**: List是有序的元素集合,可以包含...
Java集合排序及java集合类详解(Collection、List、Map、Set)讲解 Java集合框架是Java语言中最重要的组件之一,能够正确使用Java集合框架对于Java程序的开发具有无比的好处。本文将详细解释Java集合框架的实现原理、...
本文将围绕Java集合框架进行详细介绍,包括Collection、List、Set、Map等基本概念及其实现原理。 #### 容器简介 在计算机科学中,容器是一种用来存储数据的对象。Java集合框架提供了一组接口和实现,这些容器用于...
本文将深入探讨Java集合框架的四大核心组件:`Collection`、`List`、`Map`和`Set`,以及它们的排序方法。 ### 1. 集合框架概述 #### 1.1.1 容器简介 在Java中,容器(Containers)是用来存储和管理对象的结构。...
本篇文章将详细探讨这两个接口及其子类在Java 8中的特性与用法。 首先,我们来了解一下Collection接口。Collection是所有单列集合的父接口,它提供了存储和操作一组对象的基本方法。在JDK 1.8中,Collection接口的...
### Java集合框架使用总结 #### 前言 本文旨在为读者提供关于Java集合框架的概览性介绍,帮助理解其整体架构与设计理念。对于希望深入掌握特定接口或类使用方法的学习者,建议查阅官方提供的Java API文档。 #### ...
Map接口与其他集合接口(如List和Set)不同之处在于,它允许每个键关联一个值,并且每个键都是唯一的。 #### 二、Map接口的基本概念 Map接口中的元素由两部分组成:键(key)和值(value)。键用于唯一标识一个值...
### Hashtable与HashMap的区别详解 #### 一、基本概念与历史背景 在Java编程语言中,`Hashtable` 和 `HashMap` 都是用来存储键值对的数据结构。这两种数据结构虽然相似,但是在实现细节上存在显著差异。 1. **...
Java面试总结涵盖了JavaSE到...List、Map和Set接口分别对应不同的集合类型,它们在存取元素时有不同的特点。例如,List是有序集合,可以包含重复元素;Map是键值对集合,不允许重复键;Set是不允许重复元素的集合。
**ArrayList** 是Java集合框架中的一个重要类,位于`java.util`包下,它实现了List接口。ArrayList实际上是一个动态数组,可以容纳任意类型的对象。它的主要特点是可以通过索引来访问和修改元素,索引从0开始。...
《Java 基础核心总结》 Java 概述 什么是 Java2 Java 的特点Java 开发环境 JDK JRE Java 开发环境配置 Java 基本语法 数据类型基础语法运算符 Java 执行控制流程条件语句 if 条件语句 if...else 条件语句if...else ...
Java基础 抽象类和接口的区别 一个类只能继承一个抽象类...List、Set、Map的区别 1. List 可存储重复对象; 是一个有序集合,保存了每一个元素的插入顺序,输出顺序就是插入顺序; 常见的实现类有ArrayList、LinkedList