Java高级特性——集合框架

1、集合框架

①不知道程序运行需要多少对象

②需要多个数组——对应等更复杂的方式存储对象

可以使用Java集合框架

Java集合框架提供了一套性能优良,使用方便的接口和类,它们位于Java.util包中

Collection接口存储一组不唯一,无序的对象

语法高亮框架 Java_List

List接口存储一组不唯一,有序(插入顺序)的对象

语法高亮框架 Java_java_02

Set接口存储一组唯一,无序的对象

Map接口存储一组键值对象,提供key到value的映射

2、List接口的实现类


语法高亮框架 Java_Java_03

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

语法高亮框架 Java_List_04

②LinkedList采用链表存储方式,插入、删除元素时效率比较高

3、ArrayList常用方法

方法名

说明

boolean add(Object o)

在列表的末尾顺序添加元素,起始索引位置从0开始

void add(int index,Object o)

在指定的索引位置添加元素。索引位置必须介于0和列表中元素个数之间

int size()

返回列表中的元素个数

Object get(int index)

返回指定索引位置处的元素。取出的元素是object类型,使用前需要进行强制类型转换

boolean contains(Object o)

判断列表中是否存在指定元素

boolean remove(Object o)

从列表删除元素

Object remove(int index)

从列表删除指定位置元素,起始索引位置从0开始

Collection接口常用通用方法还有:clear( )、isEmpty( )、iterator( )、toArray( )

在set 类,List类中都能用

clear( )清空集合
 isEmply( )判断集合是否空集合
 iteration( )返回集合迭代器
 toArray( )把集合变成序列

集合中不能添加基本数据类型——>系统会把添加的数据包装成包装类

4、LinkedList常用方法

在插入,删除元素,效率高

方法名

说明

void addFirst(Object o)

在列表的首部添加元素

void addLast(Object o)

在列表的末尾添加元素

object getFirst( )

返回列表中的第一个元素

Object getLast( )

返回列表中的最后一个个元素

Object removeFirst( )

删除并返回列表中的第一个元素

Object removeLast( )

删除并返回列表中的最后一个元素

5、ArrayList和LinkedList

相同:①都是集合框架中List的两个实现类

②存放的数据都是有序的,可以通过get(int index)拿出来

不同:①ArrayList适合遍历,取值,LinkedList插入,删除,效率高(链表方式,只影响前一个元素的内存地址指向)

6、set接口
set接口存储一组唯一,无序的对象
HashSet是set接口常用的实现类
set中存放对象的引用(内存地址)
set接口采用对象的equals()方法比较两个对象是否相等,如果true就不然对象加进来(唯一)
set接口不存在get()方法
7、迭代器

遍历无序的set集合

①增强for

②Iterator迭代器

获取Iterator:Collection接口的iterator( )方法

Iteratord的方法:

boolean hasNext( ):判断是否存在另一个可访问的元素

object next( ):返回要访问的下一个元素

Iterator iterator = set.iterator( );
while(iterator.hasNext(1){
	System.out.println(iterator.next());

}