Java 集合 和 Iterator迭代器

来源:互联网 发布:程序员有前景吗 编辑:程序博客网 时间:2024/05/22 12:48

*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方法给他们排序.
0 0
原创粉丝点击