黑马程序员---Collection的使用

来源:互联网 发布:2017店铺淘宝客怎么玩 编辑:程序博客网 时间:2024/05/16 00:45

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

 

集合是一个容器.

使用数组时通过下标操作数组中的元素

集合与数组比较

数组有什么特点 :  1.有顺序 2.定长  3.类型单一

集合特点1.有顺序也可以没顺序 2.集合长度可以随着元素的增加而增加  3.集合中可以装入任何Object

java中的集合类都在java.util包下.

java中的集合元素全是Object类型的.

Collcetion 特点

(特点:有顺序也无顺序,可重复也不可重复)

|---List :有顺序的可重复

----ArrayList

 |----LinkedList

 |----Vector

|---Set  :无顺序不可重复  

|-----HashSet

|-----TreeSet

重复的概念是两个元素做equals相等.

Collection接口中生命的方法

1.add 向集合中添加元素

声明:public boolean add(Object obj)

作用:向集合添加元素obj

参数:要添加的元素

返回值:代表是不否添加成功.

//add

public static void method1(){

Collection c=new ArrayList();

//添加元素

System.out.println(c.add("abc"));

c.add("def");

c.add(100); //问题:100Object类型吗不是  在jdk1.5后自动装箱

System.out.println(c); //说明ArrayList重写了toString

2.clear 清空集合中的元素

声明:public void clear();

作用:清空集合中所有元素

//clear

public static void method2(){

Collection c=new ArrayList();

c.add(10);

c.add("abc");

c.clear(); //将集合中所有元素清空

System.out.println(c);

}

3.contains 判断集合中是否包含指定元素

声明:public boolean contains(Object obj)

作用:判断集合中是否包含指定元素,如果包含返回true,不包含返回false;

注意:所谓的包含是指obj与集合中的元素做equals返回true.

//contains

 public static void method3(){

Collection c=new ArrayList();

c.add(10);

c.add("abc");

c.add(20);

c.add("def");

boolean flag=c.contains(10); //自动装箱

System.out.println(flag);

 }

4.size

声明:public int size();

作用:返回集合中元素的个数

//size  isEmpty

 public static void method4(){

Collection c=new ArrayList();

c.add(10);

c.add("abc");

c.add(20);

c.add("def");

System.out.println(c.size()); //4

//c.clear();

System.out.println(c.isEmpty()); //false

 }

5.isEmpty

声明:public boolean isEmpty();

作用:判断集合中是否包含元素,如果没有任何元素返回true,有元素返回false

6.remove

声明:public boolean remove(Object obj)

作用:删除集合中的指定元素obj,如果删除成功返回true,否则返回false

注意:一次只能删除一个.

//remove

 public static void method5(){

Collection c=new ArrayList();

c.add(10);

c.add("abc");

c.add(20);

c.add("def");

c.add(20);

System.out.println(c.remove(200)); //删除集合中的指定元素

System.out.println(c);

 }

 

Collection中的所有带All方法

1.addAll

声明:public boolena addAll(Collection c);

作用:求两个集合的并集

简单说就是将两个集合中内容合并

//addAll

public static void method1(){

Collection c1=new ArrayList();

c1.add(1);

c1.add(2);

Collection c2=new ArrayList();

c2.add(3);

c2.add(4);

c1.addAll(c2);

System.out.println(c1);

System.out.println(c2);

}

2.containsAll

声明:public boolean containsAll(Collection c)

作用:判断诠c是否是集合的子集

//containsAll

public static void method2(){

Collection c1=new ArrayList();

c1.add(1);

c1.add(2);

c1.add(3);

c1.add(4);

Collection c2=new ArrayList();

c2.add(5);

c2.add(4);

boolean flag=c1.containsAll(c2);

System.out.println(flag);

}

3.removeAll

声明:public boolean removeAll(Collection c);

作用:将集合中包含的c集合中的所有元素删除。如果一个都不包含,返回false;

//removeAll

public static void method3(){

Collection c1=new ArrayList();

c1.add(1);

c1.add(2);

c1.add(3);

c1.add(4);

Collection c2=new ArrayList();

c2.add(1);

c2.add(5);

boolean flag=c1.removeAll(c2);

System.out.println(flag);

System.out.println(c1);

} 

4.retainAll

声明:public boolean retainAll(Collection c);

作用:得到两个集合的交集.

//retainAll

public static void method4(){

Collection c1=new ArrayList();

c1.add(1);

c1.add(2);

c1.add(3);

c1.add(4);

Collection c2=new ArrayList();

c2.add(1);

c2.add(5);

c1.retainAll(c2);

System.out.println(c1);

}

 

Collection中的迭代器(****)

想要将集合中的所有元素取出来,需要使用迭代器.

声明:public Iterator iterator();

Iterator它是对Collection进行迭代的迭代器(简单说就是用来遍历 Collection集合的)

Iterator接口中的方法

1.hasNext

声明:public boolean hasNext();

作用:判断集合中是否有元素可以进行迭代

2.next

声明:public Object next();

作用:将下一个迭代出来。

3.remove

声明:public void remvoe();

作用:删除元素

使用迭代器遍历集合元素步骤

1.创建迭代器

Iterator it=集合对象.iterator();

2.通过迭代器判断是否有元素可以进行迭代

while(it.hasNext()){ 它返回的是boolean  }

3.通过迭代器将元素迭代出来

Object obj=it.next();

集合中的元素在迭代出来后,都是Obejct

 

关于迭代器中的remove方法与Collection中的方法区别

在对集合使用迭代器操作的过程中,不允许使用集合提供的可以修改集合中元素的方法。

例如:将集合中的元素删除,如果想要删除,必须使用迭代器提供的行为.

 

 

 

 

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