*1.常用的java容器*
List接口:元素有顺序,可重复
ArrayList:以数组形式储存数据,读取速度快写入速度慢;
LinkedList:以链表形式储存数据,读取速度慢写入速度快;
Set接口:元素无顺序,不可重复
Map接口:以键值对key-value的形式保存数据,key不可以重复
*2.Iterator接口:迭代器*
所有实现Collection接口的容器都有一个iterator方法,返回一个是想Iterator接口的对象,用以方便的实现对容器内元素的遍历操作。
Iterator.hasNext( ) 判断游标右边是否有元素,有则返回true,没有则返回false。
Iterator.next( ) 返回游标右边的元素并将游标移到下一个位置。
Iterator.remove( ) 删除最近(最后)使用next()方法的元素。从迭代器指向的集合中移除迭代器返回的最后一个元素(可选操作)。每次调用 next 只能调用一次此方法。
使用举例:
list l = new ArrayList();
l.add("aa");
l.add("bb");
l.add("cc");
for (Iterator iter = l.iterator(); iter.hasNext();) {
String str = (String)iter.next();
System.out.println(str);
}
//迭代器用于while循环
Iterator iter = l.iterator();
//hasNext( )方法判断是否有下一个元素
while(iter.hasNext()){
//next( ) 方法返回右边的元素并把游标移到下一个位置
String str = (String) iter.next();
System.out.println(str);
}
3.Collections类:Collections则是集合类的一个工具类/帮助类,其中提供了一系列静态方法,用于对集合中元素进行排序、搜索以及线程安全等各种操作。
(1)Collections.sort(List )顺序排列。
列表中的所有元素都必须实现 Comparable接口。
(2)Collections.shuffling( List)随机排列。
(3)Collections.reverse(List)逆序排列。
(4)Collections.binarySearch(List)二分法查找。
4.Comparable接口:
该接口的定义:
public interface Comparable{
public int compareTo(Object o);
}
该接口定义类的自然顺序,实现该接口的类就可以按这种方式排序.
一般要求:e1.equals((Object)e2)和e1.compareTo((Object)e2)==0具有相同的值,这样的话我们就称自然顺序就和equals一致.
如果数据或者List中的元素实现了该接口的话,我们就可以调用Collections.sort或者Arrays方法给他们排序.