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 只能调用一次此方法。
使用举例:
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);
}
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方法给他们排序.
相关文章推荐
- Rails Routes中new、collection、member的区别浅析
- 浅析iterator与指针的区别
- 解决 The Controls collection cannot be modified because the control contains code blocks
- java使用iterator遍历指定目录示例分享
- Java设计模式之Iterator模式介绍
- 深入解读JavaScript中的Iterator和for-of循环
- java Collection 之List学习介绍
- 使用Enumeration和Iterator遍历集合类详解
- Python中Collection的使用小技巧
- java Collection 之Set使用说明
- iterator 标签的使用
- Collection架构
- 新手,正在学Java Collection,瞎写点东西-一个基于链表的stack及其遍历
- notes on python
- iterator (迭代器)的应用的用法(一)
- Collection has neither generic type or OneToMany.targetEntity() defined
- Oracle的PL / SQL实用程序
- 如何详细设置SUN/IBM JVM的GC日志输出(转)
- IOS的UIScrollView的自动布局
- Java学习之Iterator(迭代器)的一般用法