黑马程序员—————— Java集合框架Collection

来源:互联网 发布:淘宝货到付款是现金么 编辑:程序博客网 时间:2024/06/07 17:04

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



1,为什么会出现集合类?

  面向对象语言对事物的体现都是以对象的形式,所以为了方便对多个对象的操作,就对对象进行存储。集合就是存储对象的常用方式。

2,集合与数组同时容器,有何不同呢?

  因为数组是固定的,有局限性,而集合长度是可变的,但是数组可以存储基本数据类型,而集合只能存储对象。

3,Java集合框架Collection:

Collection<--List<--Vector 
Collection<--List<--ArrayList 
Collection<--List<--LinkedList 
Collection<--Set<--HashSet 
Collection<--Set<--HashSet<--LinkedHashSet 
Collection<--Set<--SortedSet<--TreeSet 





4,集合的共性

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

1、添加

add(e);

addAll(collection);

2、删除

remove(e);

removeAll(collection);

调用该方法的集合元素发生改变,取两个集合的交集。

clear();

清空集合

3、判断

contains(e);

判断集合中,是否存在这个元素

isEmpty();

判断集合是否为空

4、获取

iterator(); 迭代器 hasNext();next(); remove();

size();

5、获取交集

retainAll();

6、集合变数组

toArray();

5,迭代器  Iterator  :  在迭代时,不可以通过集合对象的方法操作集合中的元素。



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);}public static void main(String[] args) {//演示列表迭代器。ArrayList al = new ArrayList();//添加元素al.add("java01");al.add("java02");al.add("java03");sop(al);ListIterator li = al.listIterator();//sop("hasPrevious():"+li.hasPrevious());while(li.hasNext()){Object obj = li.next();if(obj.equals("java02"))//li.add("java009");li.set("java006");}while(li.hasPrevious()){sop("pre::"+li.previous());}//sop("hasNext():"+li.hasNext());//sop("hasPrevious():"+li.hasPrevious());sop(al);/*//在迭代过程中,准备添加或者删除元素。Iterator it = al.iterator();while(it.hasNext()){Object obj = it.next();if(obj.equals("java02"))//al.add("java008");it.remove();//将java02的引用从集合中删除了。sop("obj="+obj);}sop(al);*/}}



0 0
原创粉丝点击