您的位置:首页 > 编程语言 > Java开发

Java 集合 和 Iterator迭代器

2015-08-02 21:30 477 查看
[b]*1.常用的java容器*[/b]



List接口:元素有顺序,可重复

ArrayList:以数组形式储存数据,读取速度快写入速度慢;

LinkedList:以链表形式储存数据,读取速度慢写入速度快;

Set接口:元素无顺序,不可重复

Map接口:以键值对key-value的形式保存数据,key不可以重复

[b]*2.Iterator接口:迭代器*[/b]

所有实现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方法给他们排序.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  iterator Collection