标签:构造 abstract png 否则 下标 rabl 类型 报错 inter
List:列表 ,元素有序保存 ,元素可重复 Set:集合,元素无序保存,元素不能重复
List和Set都继承Collection 接口
List接口的实现类 ArrayList ,ArrayList继承AbstractList,并实现List接口。ArrayList随着元素的添加 ,元素的数目会增加,列表也会随之扩展。
ArrayList构造方法:
ArrayList();
ArrayList(Collection c) 根据其他集合c的元素创建新的集合列表
常用方法:
add(Object e)
get(index)
remove(index) 返回值是被删除的元素,,不是boolean!!
size()
toArray(); 集合转换为数组
set(index,值) 设置指定下标元素的值
注:一般的 ,创建集合加上泛型,因为对于集合容器有一个问题,也就是把一个对象放入容器后,会丢失类型信息,容器会默认把对象看做Object来存储,所以去除元素后,对象的;类型也是Object,这个时候就需要强转换类型,这样存在安全风险。所以一般会添加上泛型,来规定集合所存放的数据类型。
Set接口的实现类 hashSet,。 还有其他的 用的很少,不做介绍基本与List类似。 Set 的 remove方法的返回值是boolean值,因为是无序的所以只能移除元素,不能通过下标移除元素。
for each 遍历方式:
注意:这里的遍历方式,不能改变遍历对象的大小,否则报错。对于for each 遍历方式可以对两种类型的对象使用,一种是数组类型,一种是实现了Iterable接口的类型。
public interface Iterable(){
Iterator<T> iterator();
}
Iterable 也是接口,,,,是对collection进行迭代的迭代器。方法:
boolean hasNext() 如果能读到元素,返回true
E next() 返回迭代元素
void remove()从迭代器中中指向的collection中 移除
如上图, 可以看做是for each 循环的封装方法。
Collections类 提供一些对集合的常用操作。如:排序和查找。
Collections 排序有两种 ,1.sort(List<T> list) 对集合进行按照默认的方法进行自然排序 2.sort(List<T> list, Comparator<T> c)根据比较器指定的方法进行排序,Comparator 也是一个接口,被比较对象的类型必须实现此接口,里面有比较的方法,int compare (To1,TO2)比较用来排序的两个参数,在使用时可以按照具体要求重写 该方法。还有比较的方法 如:boolean equals(Object ,obj) 指示某个对象是否等于此Comparator。
第一种方法:1.sort(List<T> list) 对集合进行按照默认的方法进行自然排序
2.sort(List<T> list, Comparator<T> c)根据比较器指定的方法进行排序,Comparator 也是一个接口,被比较对象的类型必须实现此接口,里面有比较的方法,int compare (To1,TO2)比较用来排序的两个参数,在使用时可以按照具体要求重写 该方法
标签:构造 abstract png 否则 下标 rabl 类型 报错 inter
原文地址:http://www.cnblogs.com/shilei182/p/7372579.html