先看一下各集合类之间的关系:
Collection
|-List
| --LinkedList
| --ArrayList
| --Vector
| --Stack
|-Set
Map
|-HashTable
|-HashMap
从上述图中即可明了的看出集合之间的关系。
Collection接口是罪基础的集合接口,List和Set分别继承它,Map没有继承。
List是有序的Collection,使用List接口可以精确地控制每个元素插入的位置,并且可以通过索引来访问每个元素。在list中可以存在相同的元素,和Set不同,在set中不可以存在相同的元素。
实现List接口的常有类有:LinkedList、ArrayList、Vector和Stack。
LinkediList是一链表,允许null元素,它提供了get、remove、insert方法。LinkedList没有实现同步,如果多个线程同时访问同一个List,则要自己实现,可以在创建list时构建一个同步的list:List list = Collections.synchronizedList(new LinkedList<T>());
linkedList内存使用量要小一些,添加删除元素效率较高,元素随机访问的效率较地,ArrayList与之相反。
ArrayList它允许全部的元素,包括null,和LinkedList一样不是同步的,除了实现 List 接口外,此类还提供一些方法来操作内部用来存储列表的数组的大小。每个 ArrayList 实例都有一个容量。该容量是指用来存储列表元素的数组的大小。它总是至少等于列表的大小。随着向 ArrayList 中不断添加元素,其容量也自动增长。在添加大量元素前,应用程序可以使用 ensureCapacity 操作来增加 ArrayList 实例的容量。这可以减少递增式再分配的数量。
Vector非常类似于arrayList,与之不同的是Vector是同步的。
Stack继承Vector,实现了一个先进后出的堆栈,Stack在刚被创建时是空栈。
Set接口是一个不包含重复元素的Collection,因而最多可拥有一个null值。
Map没有继承Collection,它提供了key到value的映射,一个map中不能包含相同的key,一个key对应一个value。
HashTable类
HashTable继承map,实现了一个key-value映射的哈希表,任何非空的对象都可以存入到hashTable中,并且hashTable是同步的。
HashMap类与hashTable不同的是HashMap是非同步的,并且允许null值。
分享到:
相关推荐
在Java编程语言中,集合框架是处理对象组的重要工具,主要包括`List`、`Set`和`Map`接口。这些接口及其实现类提供了丰富的功能,适用于各种数据存储和操作需求。`Set-List-Map.rar_DEMO_list set map`这个压缩包文件...
### 集合概述:set、List、Map #### 一、集合框架概述 ##### 1.1.1 容器简介 在Java编程中,集合框架是一个非常重要的概念,它提供了一种灵活的方式来存储、操作和管理不同类型的对象集合。集合框架的主要目标是...
根据给定文件的信息,我们可以详细地探讨一下Java中几种主要的集合容器——List、Set以及Map的区别,并且深入了解它们各自的特性和应用场景。 ### 一、List #### 1. ArrayList - **特点**:`ArrayList`是基于动态...
在Java编程语言中,集合框架是处理对象组的重要工具,主要包括List、Set和Map三大接口。这些接口由Java Collection Framework提供,它是一个统一的架构,用于存储和操作各种类型的对象。接下来,我们将深入探讨这三...
Collection 集合框架的顶级接口是 Collection,下面有三个主要的子接口:List、Set 和 Map。 List 集合是一种有序集合,可以存储重复元素,每个元素都有索引。ArrayList 和 LinkedList 是 List 集合的两个常用的...
其中,`Collection`、`List`、`Set`和`Map`是四大基本接口,它们各自代表了一种特定的数据结构,有着不同的特性和用途。下面我们将详细探讨这些接口的区别及其相关知识点。 首先,`Collection`是所有集合类的顶级...
本教程将深入探讨三种主要的集合类型:List、Set和Map,以及几种常用的循环语句,如forEach、map、where、any和every。这些概念对于理解Dart中的数据处理至关重要。 1. **List**: List是有序的元素集合,可以包含...
java集合类list-set-map.doc
在这个"DWR Demo"中,我们将会探讨如何使用DWR框架来处理和展示常见的数据结构,如List、Set和Map。 首先,让我们深入了解DWR的核心功能。DWR允许Java方法直接被JavaScript调用,就像它们是本地函数一样,无需手动...
在Java编程语言中,集合框架是处理对象组的重要工具,其中`List`、`Set`和`Map`是三大核心接口。本资料“Java list set map.zip”专注于讲解这些接口及其相关实现,帮助开发者深入理解Java集合类的使用。 首先,`...
// java中对象容器主要有Set,List和Map三个接口类。 // 迭代器(Iterator)模式,又叫做游标(Cursor)模式。 // GOF给出的定义为:提供一种方法访问一个容器(container)对象中的各个元素, // 而又不需暴露该...
Java 集合框架中 List、Set、Map 的用法和区别 Java 集合框架(Java Collections Framework)是 Java 语言中的一个重要组件,提供了一些基本的数据结构和算法来操作和存储数据。其中,List、Set、Map 是三个非常...
### set、list、map的区别与联系 #### 一、概述 在Java编程语言中,`set`、`list`和`map`是非常重要的数据结构,它们分别代表了不同的集合类型,各自有着独特的特性与用途。 - **List**:有序集合,可以包含重复...
详细描述map、list、set的常用子类特性,各个场景的适用。
Java中List、Set和Map之间的区别 Java集合是Java编程语言中的一种重要数据结构,分为三种类型:Set(集)、List(列表)和Map(映射)。在Java中,List、Set和Map都是集合的实现类,它们之间有着本质的区别。 List...
自己写的例子,Java连接 redis 测试了string,list set ,map类型,以及中文测试,都正常,资源解释:http://www.cnblogs.com/aspirant/p/6816180.html
在Java编程语言中,集合框架是处理对象的重要工具,其中包括Set、List和Map三大接口。这些接口提供了多种数据结构和操作方法,使得开发者能够高效地组织和管理数据。 1. **Set接口**: Set接口表示一个不包含重复...
一般使用springjdbc、hibernate的sql查询,库获取到的数据都是List<Map, Object>>结果集,如果我们要转化为JavaBean,则需要做一系列的map.get(),然后obj.set()。 此工程中就是解决List<Map, Object>>转化为...
本文将深入探讨如何使用Java来操作Redis,包括设置和获取String、List和Map类型的数据,并且会介绍如何进行封装和单元测试。 首先,要与Redis进行交互,我们需要引入Jedis库,这是Java最常用的Redis客户端。在你的...
### Java中List、Set和Map的区别 在Java编程语言中,`List`、`Set`和`Map`是集合框架中的三个核心接口,它们分别代表了不同类型的集合数据结构,各自有着独特的特性和应用场景。 #### List `List`接口是最常用的...