现在的位置: 首页 > 综合 > 正文

黑马程序员—集合类1

2013年10月26日 ⁄ 综合 ⁄ 共 2173字 ⁄ 字号 评论关闭

---------------------- android培训java培训、期待与您交流! ----------------------

 

集合类

(1)为什么出现集合类?
面向对象语言对事物的体现都是以对象的形式,所以为了方便对多个对象的操作,就对对象进行存储,集合就是存储对象最常用的一种方式。

(2)数组和集合类同时容器,有何不同?

数组虽然可以存储对象,但是长度是固定的,集合长度是可变的。数组中可以存储基本数据类型,集合只能存储对象。

(3)集合类的特点

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

1add方法的参数类型是Object。以便于接收任意类型对象。

2,集合中存储的都是对象的引用(地址)

什么是迭代器呢?

其实就是集合的取出元素的方式。

如同抓娃娃游戏机中的夹子。

迭代器是取出方式,会直接访问集合中的元素。

所以将迭代器通过内部类的形式来进行描述。

通过容器的iterator()方法获取该内部类的对象。

Collection定义了集合框架的共性功能。

1,添加

add(e);

addAll(collection);

2,删除

remove(e);

removeAll(collection);

clear();

3,判断。

contains(e);

isEmpty();

4,获取

iterator();

size();

5,获取交集。

retainAll();

6,集合变数组。

toArray();

public static void base_method()

{

//创建一个集合容器。使用Collection接口的子类。ArrayList

ArrayList al = new ArrayList();

//1,添加元素。

al.add("java01");//add(Object obj);

al.add("java02");

al.add("java03");

al.add("java04");

//打印原集合。

sop("原集合:"+al);

//3,删除元素。

//al.remove("java02");

//al.clear();//清空集合。

//4,判断元素。

sop("java03是否存在:"+al.contains("java03"));

sop("集合是否为空?"+al.isEmpty());

//2,获取个数。集合长度。

sop("size:"+al.size());

//打印改变后的集合。

sop(al);

}

Collection

|--List:元素是有序的,元素可以重复。因为该集合体系有索引。

|--ArrayList:底层的数据结构使用的是数组结构。特点:查询速度很快。但是增删稍慢。线程不同步。

|--LinkedList:底层使用的链表数据结构。特点:增删速度很快,查询稍慢。线程不同步。

|--Vector:底层是数组数据结构。线程同步。被ArrayList替代了。因为效率低。

|--Set:元素是无序,元素不可以重复。、

List

特有方法。凡是可以操作角标的方法都是该体系特有的方法。

add(index,element);

addAll(index,Collection);

remove(index);

set(index,element);

get(index):

subList(from,to);

listIterator();

int indexOf(obj):获取指定元素的位置。

ListIterator listIterator();

import java.util.*;

class ListDemo 

{

public static void sop(Object obj)

{

System.out.println(obj);

}

public static void method()

{

ArrayList al = new ArrayList();

//添加元素

al.add("java01");

al.add("java02");

al.add("java03");

sop("原集合是:"+al);

//在指定位置添加元素。

al.add(1,"java09");

//删除指定位置的元素。

//al.remove(2);

//修改元素。

//al.set(2,"java007");

//通过角标获取元素。

sop("get(1):"+al.get(1));

sop(al);

//获取所有元素。

for(int x=0; x<al.size(); x++)

{

System.out.println("al("+x+")="+al.get(x));

}

Iterator it = al.iterator();

while(it.hasNext())

{                             //迭代

sop("next:"+it.next());

}

//通过indexOf获取对象的位置。

sop("index="+al.indexOf("java02"));

List sub = al.subList(1,3);

sop("sub="+sub);

}

 

 

 

 

---------------------- android培训java培训、期待与您交流! ---------------------- 

详细请查看:http://edu.csdn.net/heima 

抱歉!评论已关闭.