Java 集合类库

java类库的基本结构

Iterable

public interface Iterable<T>

实现这个接口允许对象成为 "foreach" 语句的目标。

也就是说,只有实现了Iterable接口的类才能使用foreache语法。

其实java在编译的时候讲foreach编译成了iterator操作。


方法摘要


Iterator<T>


iterator()
返回一个在一组 T 类型的元素上进行迭代的迭代器。

Collection

接口 Collection<E>

所有超级接口:

Iterable<E>


方法摘要


boolean


add(E o)
确保此 collection 包含指定的元素(可选操作)。


boolean


addAll(Collection<? extends E> c)
将指定 collection 中的所有元素都添加到此 collection 中(可选操作)。


void


clear()
移除此 collection 中的所有元素(可选操作)。


boolean


contains(Object o)
如果此 collection 包含指定的元素,则返回 true。


boolean


containsAll(Collection<?> c)
如果此 collection 包含指定 collection 中的所有元素,则返回 true。


boolean


equals(Object o)
比较此 collection 与指定对象是否相等。


int


hashCode()
返回此 collection 的哈希码值。


boolean


isEmpty()
如果此 collection 不包含元素,则返回 true。


Iterator<E>


iterator()
返回在此 collection 的元素上进行迭代的迭代器。


boolean


remove(Object o)
从此 collection 中移除指定元素的单个实例,如果存在的话(可选操作)。


boolean


removeAll(Collection<?> c)
移除此 collection 中那些也包含在指定 collection 中的所有元素(可选操作)。


boolean


retainAll(Collection<?> c)
仅保留此 collection 中那些也包含在指定 collection 的元素(可选操作)。


int


size()
返回此 collection 中的元素数。


Object[]


toArray()
返回包含此 collection 中所有元素的数组。


<T> T[]


toArray(T[] a)
返回包含此 collection 中所有元素的数组;返回数组的运行时类型与指定数组的运行时类型相同。

时间: 2024-11-04 13:48:15

Java 集合类库的相关文章

Java集合类库 ArrayList 源码解析

集合类库是Java的一个重大突破,方便了我们对大数据的操作.其中 Arrays 和 Collections 工具类可以帮助我们快速操作集合类库.下面对Java集合类库的源码分析是基于jdk1.7的.今天我们来看看ArrayList的底层实现原理. ArrayList的继承结构图 继承自 AbstractList 抽象类,在上层是 AbstractCollection 抽象类,直接去 AbstractCollection 类去看看. AbstractCollection 类主要实现了 Collec

Java集合类库 LinkedList 源码解析

基于JDK 1.7,和ArrayList进行比较分析 Java已经有了ArrayList,用来存放元素,对元素的操作都很方便.为什么还会有LinkedList呢?我们都知道ArrayList获取元素很快,但是插入一个元素很慢,因为ArrayList底层维护的是一个数组,往数组中的某个位置插入一个元素,是很消耗资源的. 而LinkedList插入元素很快,获取任意位置的元素却很慢.这是为什么呢?底层又是怎样实现的呢? 1.继承关系 LinkedList的继承关系图: LinkedList继承的是A

关于Java集合类库中的几种常用队列

Java中几种常用的队列 阻塞队列与普通队列的区别在于,当队列是空的时,从队列中获取元素的操作将会被阻塞,或者当队列是满时,往队列里添加元素的操作会被阻塞.试图从空的阻塞队列中获取元素的线程将会被阻塞,直到其他的线程往空的队列插入新的元素.同样,试图往已满的阻塞队列中添加新元素的线程同样也会被阻塞,直到其他的线程使队列重新变得空闲起来,如从队列中移除一个或者多个元素,或者完全清空队列. 第一种:ConcurrentLinkedQueue,高性能无阻塞无界队列 代码demo: 1 Concurre

java基础系列--集合类库(一)

原创作品,可以转载,但是请标注出处地址:http://www.cnblogs.com/V1haoge/p/7229478.html 1.概述 Java的集合类库很是丰富,囊括了大部分的常见数据结构形式,让我们可以有目的性的选择适合当前业务场景和功能场景的集合类.合适的集合框架可以最大程度的提升执行速度和效率. Java集合类库中所有的集合类都始于Collection接口和Map接口,前者表示单值集合,后者表示映射集合(双值集合). Java集合框架中的Abstract开头的抽象类,其实是JDK开

Java集合(二):List列表

在上一节中,介绍了Java集合的总体情况.从这节開始,将介绍详细的类.这里不单单介绍类的使用方法.还会试图从源代码的角度分析类的实现.这一节将介绍List接口及实现类.即列表中的链表LinkedList和数组列表ArrayList. 1 List接口及抽象类 List接口扩展自Collection接口,这个接口设计了一些适合列表操作的方法.List是一个有序集合.元素能够加入到容器中某个特定的位置. 使用javac编译List.java源代码后,能够使用javap反编译源代码获得接口的详细信息.

java集合(一)——数据结构详解

当我们要处理一串数据的时候,相比较c++和c中的数组和指针,在Java中我们更为常用的是ArrayList.HashMap等集合数据结构.c语言对指针的支持成就了他的深度,而Java中多种多样的包装类成就了他的广度.在java中,我们一般将List.Map.Set等数据结构通归为集合数据结构,这些类都存在于集合类库中. (一) 集合接口 1.集合的接口和实现分离 与其他的数据结构类库相似的,java的集合类库也采用了这种接口和实现分离的方法. 这种方法的好处是不言而喻的.当你要实例化一个队列时,

Java 集合介绍

1, Set :集合中对象不按特定的方式排序,并且没有重复对象,它有些实现类能对集合按特定方式排序 List :集合中对象按照索引位置排序,可以有重复对象,允许按照对象在集合中的索引位置检索独享,List和数组有些相似. Map : 集合中的每一个元素包含一对键对象和值对象,集合汇总没有重复的键对象,值对象可以重复.它的有些实现类能对集合中的键对象进行排序. 2,Set 和 List 接口继承了Collection 接口. ‘ Collection’ 接口 iterator() 和 toArra

Java集合(一):Java集合概述

注:本文基于JDK 1.7 1 概述 Java提供了一个丰富的集合框架,这个集合框架包含了许多接口.虚拟类和实现类.这些接口和类提供了丰富的功能,能够满足基本的聚合需求.下图就是这个框架的整体结构图: 可以看见,这个框架非常大,大到吃惊的地步.这个图的左面部分是接口,右面部分是类,中间的线代表了右面的类实现了左面的哪些接口.比如,AbstractList类实现了List接口,那么继承自AbstractList类的子类都实现了这个接口.还有,如果一个类实现了一个接口,那么这个类也实现了这个接口的所

Java核心类库—集合框架—ArrayList类

ArrayList类是java集合框架出现之后取代Vector类的 二者底层原理都是基于数组的算法,一模一样. 区别: Vector:所有的方法都使用了synchronize修饰符 线程安全但是性能较低,适用于多线程环境. ArrayList:所有的方法都没使用synchronize修饰符 线程不安全但性能较高. 即使以后多线程也不要使用Vector类 因为:List list = Collections.synchronizedList(new ArrayList(...)); 常用方法参照V