Java集合类解析

合集下载

java中集合的概念

java中集合的概念

java中集合的概念

Java中的集合是一种非常重要的数据结构,用于存储和操作一组对象。集合框架包含了许多类和接口,可以方便地进行数据的存储、查询、排序等操作,使得Java程序开发变得更加高效和便捷。在本文中,我们将逐步介绍Java中集合的概念和用法。

一、集合框架概述

Java中的集合框架是一个包含了多个接口和类的层次结构,用于表示和操作一组对象。集合框架包含了通用的集合接口和实现,以及特定的集合类和接口,如List、Set、Map等。集合框架的接口和类都是通过泛型实现的,可以存储任意类型的对象,比如基本类型和自定义类型的对象。

二、集合框架的接口

Java中的集合框架包含了多个接口,其中包括:

1. Collection:代表一组对象的集合,是其他集合接口的父接口。它定义了一些通用的方法,如添加、删除、迭代等。

2. List:代表有序的集合,其中每个元素都有一个对应的索引。List允许重复元素出现,并且可以通过索引访问、添加、删除元素。

3. Set:代表无序的集合,其中每个元素都是唯一的。Set不允许重复的元素出现,可以用来去重。

4. Map:代表一组键值对的集合,其中每个键都是唯一的。Map 允许多个值对应同一个键,可以用来快速查找和存储数据。

三、集合类的实现

Java中的集合类可以通过实现集合接口来实现。如ArrayList、LinkedList、HashSet、TreeSet、HashMap、TreeMap等都是集合类的实现,我们可以通过这些集合类来方便地实现对一组对象的操作。例如:

1. 使用ArrayList来实现List接口,可以进行元素的添加、删除、查询等操作:

java集合类详解

java集合类详解

java集合类详解

⼀、集合类与数组的区别

1.集合的长度可变,数组的长度固定;

2.集合⽤来存放对象引⽤,数组⽤来存放基本类型的数据;

⼆、集合类的关系

1.Collection接⼝

存储⼀组不唯⼀、⽆序的对象。

2.List接⼝

存储⼀组不唯⼀、有序(插⼊顺序)的对象。

2.1 实现类:ArrayList类、LinkedList类

ArrayList类:实现长度可变的数组,在内存中分配连续的空间,遍历元素和随机访问元素的效率较⾼。

add() addAll() clear() size() iterator() get() set()

LinkedList类:采⽤链表存储⽅式,插⼊、删除元素时效率较⾼。

add() addAll() add First() add Last() clear() remove() size() iterator() get() set()

3.Set接⼝

存储⼀组唯⼀、⽆序的对象。

唯⼀性:在添加对象时,会先采⽤对象的equals()⽅法与当前已有的对象的HashCode进⾏⽐较(重写了equals()⽅法的除外),如果没有相同的对象,则添加新的对象。

⽆序性:没有get()⽅法,⽆法通过下标遍历Set集合。

遍历set集合⽅法:

3.1 通过迭代器Iterator

public static void main(String[] args){

Set<String> set = new HashSet<String>();

set.add("c");

set.add("a");

java中集合案例

java中集合案例

java中集合案例

摘要:

1.Java 集合概述

2.常用集合类介绍

3.集合案例一:学生成绩管理系统

4.集合案例二:在线聊天室

5.集合案例三:图片画廊

6.总结

正文:

Java 集合概述

Java 集合框架(Java Collections Framework)是Java 中处理数据的重要工具。它包含了许多内置的集合类,如List、Set、Map 等,以及对应的实现类,如ArrayList、HashSet、HashMap 等。这些集合类为实现具体的数据结构和算法提供了基础,使程序员能够更高效地处理数据。

常用集合类介绍

- List:有序、可重复的元素集合,常见的实现类有ArrayList、LinkedList 等。

- Set:不允许有重复元素的集合,常见的实现类有HashSet、TreeSet 等。

- Map:键值对映射,常见的实现类有HashMap、TreeMap 等。

- Queue:队列,是一种先进先出(FIFO)的数据结构,常见的实现类有

LinkedList、PriorityQueue 等。

- Stack:栈,是一种后进先出(LIFO)的数据结构,常见的实现类有Stack 等。

集合案例一:学生成绩管理系统

在这个案例中,我们需要实现一个学生成绩管理系统,包括学生信息(学号、姓名、成绩)的存储、查询、修改和删除等功能。我们可以使用List 存储学生信息,使用Map 存储学生的学号和成绩信息。这样,我们可以轻松地实现各种操作。

集合案例二:在线聊天室

在线聊天室中,我们需要实时显示在线用户列表,以及接收和发送消息。这里我们可以使用List 存储在线用户,使用Map 存储用户和其对应的聊天室。当有新用户加入或离开聊天室时,我们只需要修改对应的List 和Map 即可。

java集合的定义(一)

java集合的定义(一)

java集合的定义(一)

Java集合

定义

•Java集合是一种用于存储数据的数据结构,它提供了一系列方法来操作数据。

•Java集合框架提供了一套接口(Interface)和相关的实现类(Implementation Class),使开发人员可以方便地使用和管理数据。

常用的Java集合接口

•List:有序的、可重复的集合,如ArrayList、LinkedList。•Set:不允许重复的集合,如HashSet、TreeSet。

•Map:键值对的集合,如HashMap、TreeMap。

Java集合的优点

1.高效性:Java集合框架提供了高效的数据结构和算法,使得数据

的增删改查操作更加高效。

2.灵活性:Java集合提供了多种数据结构的实现,开发人员可以根

据需求选择适合的集合类型。

3.可扩展性:Java集合框架采用接口与实现分离的设计方式,使得

开发人员可以自定义实现类来满足特定需求。

4.线程安全性:Java集合框架提供了线程安全的集合类,如

ConcurrentHashMap,可以在多线程环境下安全地操作数据。

推荐书籍

•《Java核心技术卷I:基础知识》 - 这本书是Java程序员的必读经典之一,其中包含了对Java集合框架的详细讲解。它从

基础的集合接口开始,逐步介绍了ArrayList、LinkedList、

HashSet、TreeSet、HashMap等常用集合类的用法和特点,并提供了大量的代码示例和实践项目,帮助读者深入理解和运用集合框架。

总结

Java集合是一种重要的数据结构,在Java编程中得到了广泛应用。它的高效性、灵活性、可扩展性和线程安全性使其成为Java程序开发的利器。选择合适的集合类型,并掌握其常用方法,可以提高程序的效率和可维护性。阅读相关的书籍,如《Java核心技术卷I:基础知识》,能够系统地学习和掌握Java集合框架的知识。

JAVA中常用的集合类型

JAVA中常用的集合类型

JAVA常用的高级数据类型——集合类型

一、JAVA语言中的集合类型主要有三种形式:Set(集)、List(列表)、Map(映射),每种类型的集合都包括三部分:接口、实现和算法。

a)集合接口实现集合的操作和集合的具体功能实现细节的相互分离——

Set接口、List接口、Map接口

b)集合的具体功能实现类实质上是各种可重用的数据结构的具体表示

List接口的实现类有ArrayList、LinkedList、Stack和Vector等

集合类,Vector 类提供了实现可增长数组的功能,随着更多元素加

入其中,数组变的更大。在删除一些元素之后,数组变小。

Set接口的实现类有HashSet、LinkedHashSet和TreeSet等集合类

Map接口的实现类有HashMap、Hashtable、LinkedHashMap、Properties和TreeMap等集合类。

c)集合的算法指可以对实现集合接口的各个集合的功能实现类提供如排

序、查找、交换和置换等方面的功能实现。

二、List接口

1.List接口代表有序的集合,可以对List接口代表的有序集合中每个元素

的插入位置进行精确地控制,并利用元素的整数索引(代表元素在集合中的位置)访问元素中的各个成员,List接口代表的集合是允许出现重复元素的。

2.List接口主要成员方法:

1)void add(int index,E element)在列表指定位置插入指定元素

2)E get(int index) 返回结合中指定位置的元素

3)E remove(int index) 移除集合中指定位置的元素

什么是java集合类

什么是java集合类

什么是java集合类

什么是java集合类?今天老师就给大家谈谈这个!

序号类描述

1 AbstractCollection

实现了大部分的集合接口。

2 AbstractList

继承于AbstractCollection 并且实现了大部分List接口。

3 AbstractSequentialList

继承于AbstractList ,提供了对数据元素的链式访问而不是随机访问。

4 LinkedList

继承于 AbstractSequentialList,实现了一个链表。

5 ArrayList

通过继承AbstractList,实现动态数组。

6 AbstractSet

继承于AbstractCollection 并且实现了大部分Set接口。

7 HashSet

继承了AbstractSet,并且使用一个哈希表。

8 LinkedHashSet

具有可预知迭代顺序的 Set 接口的哈希表和链接列表实现。

9 TreeSet

继承于AbstractSet,使用元素的自然顺序对元素进行排序.

10 AbstractMap

实现了大部分的Map接口。

11 HashMap

继承了HashMap,并且使用一个哈希表。

12 TreeMap

继承了AbstractMap,并且使用一颗树。

13 WeakHashMap

继承AbstractMap类,使用弱密钥的哈希表。

14 LinkedHashMap

继承于HashMap,使用元素的自然顺序对元素进行排序.

15 IdentityHashMap

继承AbstractMap类,比较文档时使用引用相等。

java集合的定义

java集合的定义

java集合的定义

1. Java集合是一种用于存储和操作一组对象的数据结构。它提供了一种更高级别的抽象,可以方便地进行添加、删除、查找和遍历操作。集合可以存储多个对象,并且可以根据需要动态调整大小。

2. Java集合框架是Java编程语言提供的一组接口、类和算法,用于实现各种集合类型。它包括了List、Set、Queue和Map等常用集合接口,以及它们的具体实现类。集合框架提供了一种标准化的方式来处理集合,使得开发人员可以更加方便地使用和操作集合。

3. Java集合框架中的每个集合都是通过特定的接口来定义的。例如,List接口代表了一个有序的集合,可以包含重复的元素。Set接口代表了一个无序的集合,不允许包含重复的元素。Queue接口代表了一个先进先出的队列,可以用于实现任务调度和事件处理等场景。Map接口代表了一组键值对的映射,可以通过键来查找对应的值。

4. 在集合框架中,每个具体的集合类都实现了相应的接口,并提供了一套通用的方法来操作集合。例如,ArrayList是List接口的一个实现类,它使用数组来存储元素,并提供了一系列方法来添加、删除、查找和遍历列表中的元素。HashSet是Set接口的一个实现类,它使用哈希表来存储元素,并提供了一套方法来添加、删除和查找集合中的元素。

5. Java集合框架还提供了一些算法和工具类,可以用于对集合进行排序、查找和操作等操作。例如,Collections类提供了一系列静态方法,可以对集合进行排序、查找和复制等操作。Arrays类提供了一系列静态方法,可以对数组进行排序、查找和复制等操作。这些算法和工具类可以大大简化集合的处理过程,并提高开发效率。

java中集合知识点总结

java中集合知识点总结

java中集合知识点总结

1. Collection接口

Collection接口是Java中集合类的基本接口,它定义了一组通用的操作方法,包括添加、删除、查找等操作。Collection接口有三个主要的子接口:List、Set和Queue。

(1) List

List是一种有序的集合,它允许重复的元素,并且可以按照索引访问元素。List接口中有常用的实现类:ArrayList、LinkedList和Vector。其中,ArrayList是基于数组实现的,它支持快速的随机访问和插入操作;LinkedList是基于双向链表实现的,它支持快速的插入和删除操作;Vector是线程安全的类,它支持并发访问。

(2) Set

Set是一种不允许重复元素的集合,它用来存储唯一的元素。Set接口中有常用的实现类:HashSet、LinkedHashSet和TreeSet。其中,HashSet是基于哈希表实现的,它提供了快速的查找和插入操作;LinkedHashSet是基于哈希表和链表实现的,它保持了元素的插入顺序;TreeSet是基于红黑树实现的,它提供了有序的集合。

(3) Queue

Queue是一种先进先出的集合,它用来存储元素,并且支持插入和删除操作。Queue接口中有常用的实现类:LinkedList和PriorityQueue。其中,LinkedList可以作为Queue来使用,它支持快速的插入和删除操作;PriorityQueue是基于堆实现的,它提供了优先级队列的功能。

2. Map接口

Map接口是Java中的映射表,它用来存储键值对的数据。Map接口中有常用的实现类:HashMap、LinkedHashMap、TreeMap和Hashtable。其中,HashMap是基于哈希表实现的,它提供了快速的查找和插入操作;LinkedHashMap是基于哈希表和链表实现的,它保持了键值对的插入顺序;TreeMap是基于红黑树实现的,它提供了有序的映射表;Hashtable是线程安全的类,它支持并发访问。

Java中常用的集合类有哪些?它们的使用场景是什么?

Java中常用的集合类有哪些?它们的使用场景是什么?

Java中常用的集合类有哪些?它们的使用场景是什么?

Java作为目前最为流行的编程语言之一,其优越的面向对象编程思想和强大的类库使其成为了广大编程爱好者和专业开发者的首选语言之一。在Java开发中,常用的集合类具有广泛的应用场景,可以大大简化我们代码的编写和维护。在本篇文章中,我们将介绍Java中常用的集合类有哪些,它们的使用场景是什么,以及如何选择合适的集合类来应对各种场景。

一、Java中常用的集合类

Java中常用的集合类包括List、Set、Map等,具体如下:

1.List

List是Java中最基础和最常用的集合类之一,它是一个有序的集合,可以存储重复的元素。List提供了一系列的方法用来操作列表中的元素,如添加、删除、获取、修改等。常见的List有ArrayList 和LinkedList。

2.Set

Set是Java中的另一个基础集合类,它是一个无序的集合,不允许存储重复的元素。Set提供了一系列的方法用来操作集合中的元素,如添加、删除、获取等。常见的Set有HashSet、TreeSet。

3.Map

Map是Java中常用的映射关系集合,它存储键值对,支持通过键来访问值。Map提供了一系列的方法用来操作映射关系,如添加、删除、获取、修改等。常见的Map有HashMap、TreeMap、ConcurrentHashMap等。

二、Java中常用集合类的使用场景

不同的集合类有不同的使用场景,我们需要根据具体的业务需求来选择合适的集合类。下面我们来介绍几种常见的使用场景及其对应的集合类。

java集合类考点

java集合类考点

Java集合类考点

1. 概述

Java集合类是Java编程中常用的一种数据结构,它提供了一种便捷的方式来存储

和操作一组对象。Java集合类位于java.util包中,包括了各种类型的集合,如List、Set、Map等。使用Java集合类可以提高程序的效率和可读性,同时也提供

了丰富的功能和灵活性。

2. 集合类的分类

2.1 List

List是一种有序的集合,可以包含重复的元素。常见的List实现类有ArrayList

和LinkedList。ArrayList是基于数组实现的,可以随机访问元素,但插入和删除元素的效率较低;LinkedList是基于链表实现的,插入和删除元素的效率较高,

但随机访问元素的效率较低。List提供了一系列操作元素的方法,如添加、删除、修改、查找等。

List<String> list = new ArrayList<>();

list.add("apple");

list.add("banana");

list.add("orange");

System.out.println(list.get(0)); // 输出:apple

list.remove(1);

System.out.println(list); // 输出:[apple, orange]

2.2 Set

Set是一种不允许重复元素的集合。常见的Set实现类有HashSet和TreeSet。HashSet是基于哈希表实现的,插入和查找元素的效率较高;TreeSet是基于红黑

树实现的,元素按照自然顺序或者指定的比较器进行排序。Set提供了一系列操作

java集合知识点总结

java集合知识点总结

java集合知识点总结

Java集合是Java编程中最重要的概念,它是一种重要的数据结构,具备灵活性和功能强大性。集合可以用来储存和维护实际项目中的数据,并以某种形式进行组织。在本文中,我们将对java集合进行深入研究,总结其重要知识点。

首先,让我们来了解一下java集合的概念。集合是Java编程语言中的一种特殊数据结构,用于存储数据,维护和管理实际的项目中的数据,并以某种形式进行组织。它是一种更高效和灵活的数据结构,是编程语言的基础知识。

其次,Java的集合分为内置的集合和用户自定义的集合。内置的集合是由Java API提供的,包括ArrayList, LinkedList, Vector, HashSet, TreeSet等;用户自定义的集合是由用户创建的,比如实现List接口或者Set接口的自定义类,它们可以被用来满足特定的业务需求,比如存储实体对象等。

最后,集合中提供了很多种不同的操作方法和方法,可以帮助开发者进行有效地数据管理和处理,这些包括但不限于遍历,添加,搜索,排序,比较,删除,替换等等。开发者也可以使用这些方法进行批量处理,比如将集合中的所有元素都设置为其他值,或者比较两个集合中的内容是否相同等等。

综上所述,Java集合是一种重要的数据结构,在Java编程中十分重要。集合分为内置的集合和用户自定义的集合,提供许多操作方法和方法,可以帮助开发者进行有效的数据管理和处理。因此,Java

开发者必须全面掌握Java集合的知识,以此来编写出高质量的代码。

java集合类详解

java集合类详解

在Java中有一套设计优良的接口和类组成了Java集合框架,使程序员操作成

批的数据或对象元素极为方便。所有的Java集合都在java.util包中。

在编写程序的过程中,使用到集合类,要根据不同的需求,来决定使用

哪种集合类,比如,要经常遍历集合内元素,就要使用List,如果要保证集合中

不存在重复的数据,就要用Set;如果要通过某一键来查找某一值,就要使用Map。 1)、列表 List接口(继承于Collection接口)及其实现类

List接口及其实现类是容量可变的列表,可按索引访问集合中的元素。

特点:集合中的元素有序、可重复;

列表在数据结构中分别表现为:数组和向量、链表、堆栈、队列。

实现类:

ArrayList 实现一个数组,它的规模可变并且能像链表一样被访问。它提供的功能类似Vector类但不同步,它是以Array方式实现的List,允许快速随机

存取。

LinkedList实现一个链表,提供最佳顺序存取,适合插入和移除元素。由这个类定义的链表也可以像栈或队列一样被使用。提供最佳顺序存取,适合插入和

移除元素。

2)、集Set接口(继承于Collection接口)及其实现类

特点:集合中的元素不按特定方式排序,只是简单的把对象加入集合中,就像往口袋里放东西。

对Set中成员的访问和操作是通过Set中对象的引用进行的,所以集中不能有重复对象。

Set也有多种变体,可以实现排序等功能,如TreeSet,它把对象添加到集中的操作将变为按照某种比较规则将其插入到有序的对象序列

中。它实现的是SortedSet接口,也就是加入了对象比较的方法。通过对集中的对象迭代,我们可以得到一个升序的对象集合。

Java集合排序及java集合类详解(Collection、List、Map、Set)

Java集合排序及java集合类详解(Collection、List、Map、Set)

Java集合排序及java集合类详解(Collection, List, Set, Map)

摘要内容

Java里面最重要,最常用也就是集合一部分了。能够用好集合和理解好集合对于做Java程序的开发拥有无比的好处。本文详细解释了关于Java中的集合是如何实现的,以及他们的实现原理。

关键字:

Collection , List ,Set , Map , 集合,框架。

目录

1 集合框架 (2)

1.1 集合框架概述 (2)

1.1.1 容器简介 (2)

1.1.2 容器的分类 (4)

1.2 Collection (6)

1.2.1 常用方法 (6)

1.2.2 迭代器 (8)

1.3 List (10)

1.3.1 概述 (10)

1.3.2 常用方法 (11)

1.3.3 实现原理 (15)

1.4 Map (18)

1.4.1 概述 (18)

1.4.2 常用方法 (18)

1.4.3 Comparable 接口 (23)

1.4.4 实现原理 (25)

1.4.5 覆写hashCode() (29)

1.5 Set (33)

1.5.1 概述 (33)

1.5.2 常用方法 (34)

1.5.3 实现原理 (38)

1.6 总结:集合框架中常用类比较 (39)

2 练习 (40)

3 附录:排序 (41)

1集合框架

1.1集合框架概述

1.1.1容器简介

到目前为止,我们已经学习了如何创建多个不同的对象,定义了这些对象以后,我们就可以利用它们来做一些有意义的事情。

举例来说,假设要存储许多雇员,不同的雇员的区别仅在于雇员的身份证号。我们可以通过身份证号来顺序存储每个雇员,但是在内存中实现呢?是不是要准备足够的内存来存储1000个雇员,然后再将这些雇员逐一插入?如果已经插入了500条记录,这时需要插入一个身份证号较低的新雇员,该怎么办呢?是在内存中将500条记录全部下移后,再从开头插入新的记录? 还是创建一个映射来记住每个对象的位置?

java集合知识点

java集合知识点

java集合知识点

Java集合是Java中重要的数据结构之一,它提供了一种方便

的方式来存储和操作多个相关对象。Java集合框架提供了很多实现集合的类和接口,如List、Set、Map等。在本文中,我

们将介绍Java集合的基本概念和常用方法。

一、集合的基本概念

1. 集合是什么?

集合是用来存储一组相关对象的容器。与数组不同的是,集合的大小可以动态调整,可以执行插入、删除、查找等操作。

2. 集合的分类

Java集合框架中的集合主要分为三个类别:

- List:有序的集合,元素可以重复。常见的实现类有ArrayList、LinkedList。

- Set:无序的集合,元素不可重复。常见的实现类有HashSet、TreeSet。

- Map:通过键值对存储数据,键不可重复。常见的实现类有HashMap、TreeMap。

二、集合常用方法

1. List常用方法

- add(Object obj):向列表中添加指定元素。

- get(int index):返回列表中指定位置的元素。

- remove(int index):删除列表中指定位置的元素。

- size():返回列表中元素的个数。

2. Set常用方法

- add(Object obj):向集合中添加指定元素。

- contains(Object obj):判断集合中是否包含指定元素。

- remove(Object obj):从集合中删除指定元素。

- size():返回集合中元素的个数。

3. Map常用方法

- put(Object key, Object value):将指定的键值对添加到集合中。- get(Object key):返回与指定键关联的值。

java集合知识点总结

java集合知识点总结

java集合知识点总结

Java集合是Java编程中的一个重要的部分,它的理解和使用对编程者来说是必不可少的。它为开发者提供了一种更好地操作和管理数据的方法,大大提高了应用开发所需的效率。本文将简要介绍Java 集合的相关概念与特性,并通过实例来更好地了解其中的知识点。

一、Java集合介绍

Java集合(Collection)包括一组对象(Object),它们可以是基本类型、对象或数组,它们可以用来存储,操作和管理程序中的数据,充分体现了“面向对象”编程的抽象能力。

Java集合的特点有:

(1)集合是一种容器,可以存放任何类型的对象,它是一种非常抽象的概念,可以把一堆数据项放入集合对象中;

(2)集合可以自动管理里面存放的对象,提供了统一的接口来访问和修改集合中的对象,从而避免了繁琐的操作;

(3)集合的每个元素都有一定的顺序,也就是说可以通过顺序来访问它们;

(4)集合还可以通过索引来访问元素,而且允许程序在集合中搜索元素,这对于快速定位某个元素是非常有用的;

(5)集合可以保持对象的顺序,新加入的对象总是会在特定的位置被存放,从而保证了集合中元素的顺序;

(6)集合可以保持在一个容器中的唯一性,允许只有一个唯一的元素存在,因此可以用来实现不出现重复元素的数据结构。

二、Java集合类

Java集合类提供了一系列容器来存储、操作和管理不同类型的数据。基本上,Java提供的集合类可以分为两个基本类型:集合和映射。

集合:集合是用来存储元素的一种容器,它提供了一系列的方法,可以用来添加、移除和检索容器中的对象。在Java中,拥有两个基本的集合类型:线性集合和非线性集合。

java集合使用场景

java集合使用场景

java集合使用场景

Java集合是Java编程语言中非常重要的一部分,它提供了一

组类和接口,用于存储和操作数据的集合。Java集合框架中的集合类被广泛用于解决各种不同的编程问题,下面将介绍一些常见的Java集合使用场景。

1. ArrayList:ArrayList是一个动态数组,它提供了快速访问和修改元素的能力。ArrayList适用于需要频繁访问和修改元素

的场景,比如要实现一个存储大量数据的列表或者需要对列表进行搜索、排序等操作的场景。

2. LinkedList:LinkedList是一个双向链表,它提供了高效的插入和删除操作。LinkedList适用于需要频繁在列表的中间插入

和删除元素的场景,比如实现一个队列或者栈等数据结构。

3. HashMap:HashMap是一个哈希表,它根据键来存储和获取值。HashMap适用于需要根据唯一键来查找和存储值的场景,比如实现一个缓存或者索引等功能。

4. TreeMap:TreeMap是一个有序的哈希表,它根据键的自然

顺序来存储和获取值。TreeMap适用于需要根据键的顺序进行查找和存储值的场景,比如实现一个排序的映射表或者需要按照某种规则遍历映射表的场景。

5. HashSet:HashSet是一个基于哈希表的集合,它存储一组唯一的元素。HashSet适用于需要存储一组不重复元素的场景,

比如去重或者判断一个元素是否存在等。

6. TreeSet:TreeSet是一个有序的集合,它根据元素的自然顺序来存储和获取值。TreeSet适用于需要根据元素的顺序进行查找和存储值的场景,比如需要对集合进行排序或者按照某种规则遍历集合的场景。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

常用Байду номын сангаас法(详见API)
方法
方法说明
add(Object o)
将指定的元素添加到此列表的尾部
add(int index, Object o) 将指定元素插入到此列表中的指定位置
get(int index) remove(int index)
size() set(int index, Object o)
有一点点区别:
➢ ArrayList在尾部插入数据的效率比LinkedList高,LinkedList 更适用于随机地在任意位置添加删除数据。
➢ LinkedList提供了对尾部和头部的添加与删除操作方法。相比 较ArrayList而言,多出的方法如下页表所示。
常用方法(详见API)
方法名
void addFirst(E e) void addLast(E e)
contains(Object o)
返回此列表中指定位置上的元素
移除此列表中指定位置上的元素 返回此列表中的元素数
用指定的元素替代此列表中指定位置上的 元素
如果此列表中包含指定的元素,则返回 true
List接口->LinkedList类
➢ LinkedList是List接口的链接列表实现。 ➢ 在一般情况下,LinkedList和ArrayList在操作上非常相似,它们仅仅
Java集合类
主要内容
集合类概述 Collection接口 List接口-Vector类、ArrayList类、LinkedList类 Set接口-HashSet类 Map接口-HashMap类、TreeMap类 Iterator(迭代器)
集合类概述
为容纳一组对象,最适宜的选择应当是数组。而且假如容纳 的是一系列基本数据类型,更是必须采用数组。当我们编写程序 时,通常并不能确切地知道最终需要多少个对象。有些时候甚至 想用更复杂的方式来保存对象。为解决这个问题,Java 提供了 集合类库。
List接口->ArrayList类
➢ ArrayList是List接口的大小可变数组的实现。允许包括null在 内的所有元素。
➢ 每个ArrayList实例都有一个容量。该容量是指用来存储列表元 素的数组的大小,它总是至少等于列表的大小。随着向 ArrayList中不断添加元素,其容量也自动增长。
E getFirst() E getLast() E removeFirst() E removeLast()
方法说明
将指定元素插入到此列表的开头 将指定元素添加到此列表的结尾
返回此列表的第一个元素 返回此列表的最后一个元素 移除并返回此列表的第一个元素 移除并返回此列表的最后一个元素
Set接口
Set 拥有与Collection 完全相同的接口,所以和两种不同的 List 不同,它没有什么额外的功能。相反,Set完全就是一个 Collection,只是具有不同的行为(这是多态最理想的应用:用 于表达不同的行为)。添加到Set 的每个元素都必须是独一无二 的;添加到Set 里的对象必须定义equals(),从而建立对象的唯 一性。Set 拥有与Collection 完全相同的接口。一个Set 不能 保证自己可按任何特定的顺序维持自己的元素。
集合类概述
新的集合库考虑到了“容纳自己对象”的问题,并将其分割成两 个明确的概念: ➢ 集合(Collection):一组单独的元素,通常应用了某种规则。 在这里,一个List(列表)必须按特定的顺序容纳元素,而一个 Set(集)不可包含任何重复的元素。 ➢ 映射(Map):一系列“键-值”对。从表面看,这似乎应该成 为一个“键-值”对的“集合”,但假若试图按那种方式实现它, 就会发现实现过程相当笨拙。另一方面,可以方便地查看Map 的 某个部分。只需创建一个集合,然后用它表示那一部分即可。这 样一来,Map 就可以返回自己键的一个Set、一个包含自己值的 List 或者包含自己“键-值”对的一个List。和数组相似,Map 可方便扩充到多个“维”,毋需涉及任何新概念。只需简单地在 一个Map 里包含其他Map(后者又可以包含更多的Map,以此类 推)。
➢ List的具体实现类常用的有ArrayList和LinkedList。 —ArrayList从其命名中可以看出它是一种类似数组的形式
进行存储,因此它的随机访问速度极快。 —LinkedList的内部实现是链表,它适合于在链表中间需
要频繁进行插入和删除操作。
List接口->Vector类
Vector非常类似ArrayList,但是Vector是同步的。由 Vector创建的Iterator,虽然和ArrayList创建的 Iterator是同 一接口,但是,因为Vector是同步的,当一个Iterator被创建而 且正在被使用,另一个线程改变了Vector的状态(例如,添加或 删除了一些元素),这时调用Iterator的方法时将抛出 ConcurrentModificationException,因此必须捕获该异常。
List接口
➢ 顺序是List 最重要的特性;它可保证元素按照规定的顺序排列 。List 为Collection 添加了大量方法,以便我们在List 中部 插入和删除元素(只推荐对LinkedList 这样做)。List 也会生 成一个ListIterator(列表反复器),利用它可在一个列表里朝 两个方向遍历,同时插入和删除位于列表中部的元素(同样地, 只建议对LinkedList 这样做)。
使用Java 集合的“缺点”是在将对象置入一个集合时丢失 了类型信息。之所以会发生这种情况,是由于当初编写集合时, 那个集合的程序员根本不知道用户到底想把什么类型置入集合。 若指示某个集合只允许特定的类型,会妨碍它成为一个“常规用 途”的工具,为用户带来麻烦。为解决这个问题,集合实际容纳 的是类型为Object 的一些对象的句柄。
Collection接口
Collection是个java.util下的接口,它提供了对集合对象 进行基本操作的通用接口方法。它有三个基本的方法: boolean add(Object obj): 用于将一个对象放入到集合中,当 原有Collection对象改变后,它返回true; boolean addAll(Collection col): 将另一个Collection对象中 的所有元素插入该Collection对象中,当目标Collection对象改 变后,它将返回true; Iterator iterator(): 它将返回一个Iterator(遍历器)接口 对象。
相关文档
最新文档