集合、Collection、List的总体概述

来源:互联网 发布:淘宝店突然没生意了 编辑:程序博客网 时间:2024/05/26 12:53

一、集合

Java中一种面向对象语言,满足对多个元素进行存储。

1,集合的特点:

A,长度可以发生改变;

B,只能存储对象;

C,可以存储多种类型对象。

2,集合和数组:

A,长度问题:

数组固定

集合可变

B,存储元素问题

数组可以是基本类型,也可以是引用类型

集合只能是引用类型

C,是否同一类型

数组元素类型一致

集合元素类型可以不一致

3,集合体系的由来

集合是存储多个元素的容器,但是,由于数据结构不同,Java就提供了多种集合类。

而这多种集合类有共性的功能,所以,通过不断的向上抽取,最终形成了集合体系。

 

数据结构:数据存储方式。

程序 =算法 +数据结构

 

Collection

List

ArrayListVectorLinkedList

 

Set

HashSetTreeSet

 

4,如何学习和使用一个继承体系呢?

学习顶层:因为顶层定义的是共性内容

使用底层:因为底层才是具体的实现

 

二、Collection

 

1Collection的功能:

A,添加功能:

boolean add(Object obj)

向集合中添加一个元素

boolean addAll(Collection c)

向集合中添加一个集合的元素

B,删除功能

void clear()

删除集合中所有的元素

boolean remove(Object obj)

删除集合中指定的元素

boolean removeAll(Collection c )

删除集合中指定的集合集合元素

C,判断功能

boolean isEmpty()

判断集合是否为空

boolean contains(Object obj)

判断集合是否包含指定的元素

boolean containsAll(Collection c)

判断集合是否包含指定的集合中的元素

D,遍历功能

Iterator iterator()

迭代器

 

 

hasNext()

判断是否还有元素

 

next()

获取下一个元素

E,长度功能

int size()

获取集合元素的个数

F,转换功能

boolean retainAll(Collection c)

判断集合中是否有相同的元素

G,交集功能

boolean retainAll(Collection c)

判断集合中是否有相同的元素

 

2,迭代器的使用

A,通过集合对象获取迭代器对象

Iterator it = Collection.iterator();需要导包

B,通过迭代器对象判断

hasNext()

C ,通过迭代器对象获取

String s = (String)it.next();

syso(s);

3,迭代器的原理

由于多种集合的数据结构不同,所以存储方式不同,所以,取出方式也不同。

这个时候,我们就把判断和获取功能定义在了一个接口中,将来,遍历哪种集合的时候,只要该集合内部实现这个接口即可。

 

4,迭代器源码

 

5,集合常见的使用步骤

A,创建集合对象

Collection c= new ArrayList();

B,创建元素对象

C,把元素添加到集合中

add(Object obj);

D,遍历集合

a,通过集合对象获取迭代器对象

b ,通过迭代器对象判断

c ,通过迭代器对象获取

6Collection存储字符串和自定义对象并遍历

A,存储字符串

Collectionc = new ArrayList();

 

//Strings = "hello";

//c.add(s);

c.add("hello");

c.add("world");

c.add("java");

 

Iteratorit = c.iterator();

while(it.hasNext())

{

Strings = (String)it.next();

System.out.println(s);

}

 

 

B,存储自定义

Collection c= new ArrayList();

 

           Student s1=new Student("林青霞",26);          

c.add("s1");

//遍历

Iteratorit=c.iterator();

 while(it.hasNext()){

 Student s=(Student)it.next();

 System.out.println(s);

}

                  

 

三、List特有功能

 

1List特有功能

A,添加功能

voidadd(int index,Object obj)

B,删除功能

Object remove(int index)

C,修改功能

Object set(int index,Object obj)

D,获取功能

Object get(int index)

int indexOf(Object obj)

ListIterator listIterator()

List subList(from,to)

2List的遍历方式

AIterator迭代器

BListIterator迭代器

C,普通for+get()

3ListIterator迭代器

Iterator的子接口

4面试题:并发修改异常

A,产生原因:用迭代器遍历集合。用集合去操作集合

B,解决方案

a,使用集合操作

b ,使用列表迭代器操作

5List集合存储字符串和自定义对象并遍历。(自己补齐)

1、存储字符串

 

2、存储自定义对象

6List特点

A,有序(存储和取出的顺序一致)

B,可以重复

C,可以通过索引值操作对应位置的元素

 

 

 

 

 

 

 

 

0 0
原创粉丝点击