集合框架

来源:互联网 发布:naive bayes算法 编辑:程序博客网 时间:2024/06/05 14:40

欢迎各路大神帮忙指出错误和不足之处。谢谢

Set(集)
排序是无序的,不允许重复。
List
排序有序的,可以重复。
Map
是成对出现的保存的是键值对(key-value),排序是无序的,key不允许重复,但value允许重复。

ArrayList
ArrayList类是List接口的大小可变数组的实现(可以说就是一个动态数组)。
它的特点如下:
大小是可变的,是自动增加的,可以动态的增加和减少元素。
实现了ICollection和IList接口。
元素可以重复。

如何使用ArrayList如:
ArrayList List = new ArrayList();

for( int i=0;i <10;i++ ) {//给数组增加10个Int元素
List.add(i);
}

迭代器
(1) 使用方法iterator()要求容器返回一个Iterator。第一次调用Iterator的next()方法时,它返回序列的第一个元素。(注意:iterator()方法是java.lang.Iterable接口,被Collection继承。)

  (2) 使用next()获得序列中的下一个元素。

  (3) 使用hasNext()检查序列中是否还有元素,如果有仍有元素则可以迭代,则返回true,。

  (4) 使用remove()将迭代器返回的最后一个元素删除。

迭代器的运用:
list l = new ArrayList();
l.add(“a”);
l.add(“b”);
l.add(“c”);
for (Iterator it = l.iterator(); it.hasNext();) {
String str = (String)it.next();//转换成字符串类型
System.out.println(str);
}
/*迭代器用于while循环
Iterator it = l.iterator();
while(it.hasNext()){
String str = (String) it.next();//转换成字符串类型
System.out.println(str);
}

//重写equals方法以后重写hashCode方法,(直接返回整数)
public int hashCode(){
return 1;
}

//对equals的重写
public boolean equals(Object obj) {
if(this==obj){
return true;
}
if(obj instanceof book){//instanceof 运算符是用来在运行时指出对象是否是特定类的一个实例(对象)
book a=(book) obj;
if(this.name.equals(a.getName()) && this.num==a.num){
return true;
}
}
return false;
}

原创粉丝点击