容器

来源:互联网 发布:悟 无人机 知乎 编辑:程序博客网 时间:2024/05/04 11:51

   Collection接口,Iterator借口,增强for循环,Set接口,List接口和Comparable接口,Collections类,Map接口,自动打包/解包。泛型(JDK1.5新增);

容器:Java API所提供的一路系列的实例,用于在程序中存放对象。

 

 

 

 Collection借口---定义了存取一组对象的方法,其子接口Set和List分别定义了存储方式。

       Set中的数据对象没有顺序并且不可以重复。

       List中的数据对象有顺序并且可以重复。

 

Map接口定义了存储“键(Key)-值(value)映射对”的方法。

 

 容器类对象在调用remove、contains等方法时需要比较对象是否相等,这会涉及到对象类型的equals方法和hashCode方法;对象自定义的类型,

需要重写equals和hashCode方法以实现自定义的对象相等规则。

    注意:相等的对象应该具有相等的hash codes

例子:

public boolean equals(Ojbect obj){

    if(obj instanceof Name){

      Name name = (Name)obj;

      return (firstName.equals(name.firstName)) && (lastName.equals(name.lastName));

    }   

    return super.equals(obj);//交给父类去比较

}

public int hashCode(){

  return firstName.hashCode();

}

class Name{

  private String firstName,lastName;

  public Name(String firstName, String lastName){

     this.firstName = firstName;this.lastName = lastName;

   }

  public String getFirstName(){return firstName};

  public String getLastName(){return lastName};

}

 

所有实现了Collection接口的容器类都有一个Iterator方法用以返回一个实现了Iterator接口的对象。

Iterator对象称迭代器,用以方便的实现对象容器内元素的遍历操作。

Iterator接口定义了如下方法:

   boolean hasNext(); //判断游标右边是否有元素

   Object next();//返回游标右边的元素并将右边移动到下一个位置

    void remove(); //删除游标左面的元素,在执行完next之后该操作只能执行一次。

 

 

 

原创粉丝点击