您的位置:首页 > 职场人生

黑马程序员---一DAY16总结--java中你必须掌握的集合框架技术

2014-04-10 20:35 711 查看
----------------------- android培训java培训、java学习型技术博客、期待与您交流! ----------------------

java中不得不掌握集合框架技术

集合类和容器

为什么会出现集合?

在面向对象语言中,对事物的描述都是以对象的形式,所以为了方便对多个对象

的操作,就要对对象进行存储,集合就是存储对象的最常见的一种方式。

数组虽然也可以存储对象,但是长度是固定的;那么集合的长度是可变的。

所以数组可以存储任意数据类型,集合只能存储对象。

集合类的特点

集合只用于存储对象,集合长度是可变的,集合可以存储不同类型的对象

集合类比数组强大,类似于包装类与基本数据类型

两大接口

java集合类主要是由两个接口派生出来的

Collection

Set:不能存放重复对象

List:可存放重复对象,有序

Queus:队列

SortedSet:可对集合数据排序

Map

SortedMap:可对集合数据排序

Collection接口

方法:boolean add(Object o):该方法用于向集合里面添加一个元素,若集合

对象被添加操作改变了,返回ture

boolean addAll(Collection c):把集合里面的所有元素添加到指定集合里面去,如果集合

对象被添加操作改变了返回turn

void clear():清除集合里面的所有元素,将集合长度变为0

boolean contains(Object o)返回集合里是否包含集合c所有元素

boolean isEmpty():返回集合是否为空(长度是否为0)。

Iterator iterator():返回一个Iterator对象,用于遍历集合里的元素。

boolean remove(Object o):删除集合中指定元素o。

boolean removeAll(Collection c):从集合中删除集合c里面的元素。若删除一个或以上返回true。

boolean retainAll(Collection c):从集合中删除集合c里不包含的元素。

int size():得到集合元素的个数。

Object[] toArray():把集合转成一个数组,所有集合元素编程数组元素。

public class Demo10 {
public static void main(String[] args) {
Collection<String> c = new ArrayList<String>();

c.add("A");
c.add("A");
c.add("A");
c.add("A");
//c.add(new Date());上面写了泛型,这个语句就是错误的了,因为泛型规定了加进来的类型!
System.out.println(c);
}
}


Iterater接口

Iterator主要遍历Collection集合中的元素,也有称为迭代精灵

boolean hasNext():若被迭代的集合元素还没有被遍历,返回ture

Object next():返回集合的下一个元素

void remove():删除集合上一次next()方法返回的元素。(若集合中有多个相同的元素

,都可以删除)

iterator 对于集合才能用,for不同,只要是循环都可用

迭代是取出集合中元素的一种方式

因为Collection中有iterator方法,所以每一个子类集合对象都具备迭代器

迭代器在Collection中有iterator方法,所以每一个子类集合对象都具备迭代器

集合遍历输出方式

Iterator:迭代输出

一旦操作集合的遍历输出,首先Iterator接口

ListIterator:Iterator子接口,专门输出List中的元素;

Enumeration:古老的输出方式,迭代Vector元素,被Iterator取代;

foreach:可输出数组和Iterable对象;

集合遍历输出方式:

1. Iterable接口(迭代遍历) 注:优先选择Iterator接口,遍历Collection里所有元素,也称为迭代器和迭代精灵;迭代是取出集合中元素的一种推荐方式。

2. Foreach循环 注:可以直接用,使用场合:数组和Iterable对象!

3. For循环 注:在()内实例化Iterable对象,进行遍历!

4. 先用toArray方法输出成为数组,再用Foreach循环!

第一个和第三个很类似,第二个和第四个很类似!

package com.itheima;

//遍历输出的四种方式

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

public class joinTest {
public static void main(String[] args) {

List<String> l = new ArrayList();

l.add("1");
l.add("2");
l.add("3");
l.add("4");

System.out.println(l);
/**
* 遍历输出:四种方式
*/

// 1、推荐使用的Iterator对象,迭代输出!
Iterator it = l.iterator();
while (it.hasNext()) {
System.out.println("迭代输出:" + it.next());
}

// 2、对集合进行fore循环!
for (String str : l) {
System.out.println("fore集合迭代输出:" + str);
}

// 3、for循环迭代,在for方法体内部实例化Iterator对象!
int i = 0;// for方法体内定义项不能出现多种不同类型
for (Iterator iter = l.iterator(); i < l.size(); i++) {
System.out.println("for循环迭代实例化输出:" + iter.next());
}

// 4、先将集合转换为数组,再利用数组的遍历输出;
Object[] o = l.toArray();
for (Object object : o) {
System.out.println("转换数组迭代输出:" + object);
}
}
}


----------------------- android培训java培训、java学习型技术博客、期待与您交流! ----------------------
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: