collection中定义的方法

int size();

boolean isEmpty();

void clear();

boolean contains(Object element);

boolean add(object emement);

boolean remove(object element);

Iterator iterator();

boolean containsAll(Collection c);

boolean addAll(Collection c);

boolean removeAll(Collection c);

boolean retainAll(Collection c);//交集,两个集合中是否包含相同的元素

Object[] toArray();

Collection c=new ArrayList();//面向接口或者父类变成,换子类或者实现类的实现很容易,之后的代码都不需要修改,降低了代码的耦合性.

集合中只能存对象,不能存基础数据类型,因为基础数据类型常存储在栈中,而栈中的数据随时会被清除掉.

当对象作为索引的时候,会调用hashcode()方法作为索引,map,hashmap等

collection中的indexof,lastindexof方法 要求放入的对象重写equals方法

List接口中的方法

object set(int index,object element)//写入一个新的元素,返回的是原来的元素

 

Iterator接口

iterator在遍历的时候是线程安全的(只能调用iterator自带的操作remove等,不能调用被遍历集合的自带的方法),使用增强for循环必须iterator接口

boolean hasNext(); // 是否有下一个

Object next(); // JDK1.5以后返回值是E(泛型)

void remove(); // 移除

 collections类

针对collection接口的工具类

各种排序 复制

void sort(List list)   //collection中的对象必须实现comparable接口或者提供第三方的比较器

void shuffle(List list)  //乱序

void reverse(List list)  //逆向

void fill(List list,Object o)  //用特定对象填充

void copy(orc list,desc list)  //拷贝集合

int binaruSearch(List list, Object obj) //二分法查找

 

 comparable接口

重写compareTo()

eg:

/**

* Name类有lastName和firstName属性,Name对象的比较大小方式按姓氏排,姓氏相同按名字排

*/

public int compareTo(Obeject o){

     Name n=(Name) o;

     int lastNameCmp=lastName.compareTo(n.getLastName());

     return (lastNameCmp!=0? lastNameCmp:firstName.compareTo(n.getFirstName()))

}

 Map接口

键值对

实现类有HashMap和TreeMap

带有方法:

Object put(Object key,Object value)  //返回值是Object和List集合的set方法一样,返回被修改前的key对应的value;

使用map做的一个单词重复次数代码

import java.util.*;

public class TestArgsWords{

    private static final Integer ONE = new Integer(1);

    public static void main(String args[]){

         Map m = new HashMap();

         for(int i=0;i<args.length;i++){

                Integer freq = (Integer) m.get(args[i]);

                m.put(args[i],(freq==null?ONE:new Integer(freq.intValue()+1));

}

       System.out.println(m.size()+"distinct words detected:");

       System.out.println(m);

}

}

 

 

 

posted on 2012-09-07 18:44  Death_Fat  阅读(148)  评论(0)    收藏  举报