List 和 ListIterator
来源:互联网 发布:工作流引擎数据库设计 编辑:程序博客网 时间:2024/06/06 01:13
List
List集合是Collection集合的子接口,你里面的iterator()方法在我的List也可以用!
List集合是一个有序的集合,是可以有重复的元素 有序:指的是元素存储和取出是一致的!
Set集合:是另一个子接口:元素不能重复! treeSet hashSet
List集合的特有功能:
添加功能:
void add(int index,Object element):在指定位置添加指定的元素
获取功能:
Object get(int index):获取指定位置的元素
删除功能:
Object remove(int index):删除指定位置的元素,返回的就是删除的元素
list的迭代器:
List列表的迭代器
ListIterator listIterator():ListIterator 继承自 Collection中的
Iterator接口
替换功能:
Object set(int index,object element):将指定位置的元素用element该元素替代,返回的是需要被替代的元素!
代码:
public static void main(String[] args) { List l = new ArrayList(); l.add("Hello"); l.add("World"); l.add("Java"); System.out.println(l); //添加功能:void add(int index,Object element):在指定位置添加指定的元素 l.add(1, "爱"); System.out.println(l); //获取功能: get(int index):获取指定位置的元素 System.out.println(l.get(1)); //删除功能:Object remove(int index):删除指定位置的元素,返回的就是删除的元素 System.out.println(l.remove(1)); System.out.println(l); //Object set(int index,object element):将指定位置的元素用element该元素替代,返回的是需要被替代的元素! System.out.println(l.set(1, "爱")); System.out.println(l);}
结果:
[Hello, World, Java]
[Hello, 爱, World, Java]
爱
爱
[Hello, World, Java]
World
[Hello, 爱, Java]
ListIterator
List集合专有迭代遍历方式ListIterator listIterator() ;
ListIterator接口:
boolean hasNext():表示正向遍历:是否有下一个可以迭代的元素
Object next():获取下一个元素
boolean hasPrevious():表示逆向遍历:是否有上一个可以迭代的元素 Object previous()返回列表中的前一个元素
有个顺序问题:要想使用逆向遍历,必须先向遍历,如果先逆向遍历,没意义,一般不这样使用!
list集合有3种遍历方式:
迭代器遍历方式替代掉普通for(get()/size()相结合)
迭代器遍历: Iterator iterator() ListIterator listiterator():列表迭代器!
代码:
public static void main(String[] args) { List l = new ArrayList(); sdudent s1 = new sdudent("张三",20,"188"); sdudent s2 = new sdudent("李四",21,"186"); sdudent s3 = new sdudent("王五",22,"185"); l.add(s1); l.add(s2); l.add(s3); //使用for循环遍历 for(int x = 0;x<l.size();x++){ sdudent s = (sdudent)l.get(x); System.out.println(s.getAge()+"-"+s.getName()+"-"+s.getWeight()); } System.out.println("----------------"); //使用迭代器遍历 Iterator lt= l.iterator(); while(lt.hasNext()){ sdudent s = (sdudent)lt.next(); System.out.println(s.getAge()+"-"+s.getName()+"-"+s.getWeight()); } System.out.println("----------------"); //使用列表迭代器遍历 ListIterator li= l.listIterator(); while(li.hasNext()){ sdudent s = (sdudent)li.next(); System.out.println(s.getAge()+"-"+s.getName()+"-"+s.getWeight()); } System.out.println("----------------"); //倒序 while(li.hasPrevious()){ sdudent s = (sdudent)li.previous(); System.out.println(s.getAge()+"-"+s.getName()+"-"+s.getWeight()); }}
结果
20-张三-188
21-李四-186
22-王五-185
20-张三-188
21-李四-186
22-王五-185
20-张三-188
21-李四-186
22-王五-185
22-王五-185
21-李四-186
20-张三-188
- List 和 ListIterator
- 初学Java,List和ListIterator
- 初学Java,List和ListIterator(二十八)
- 重点说list和ListIterator的特点:
- 黑马程序员---集合框架【List接口和ListIterator接口】、
- List和ListIterator的常见用法及特性
- List集合ListIterator和Iterator迭代器区别与用法
- ListIterator listIterator():List集合特有的迭代器
- List集合共性方法-ListIterator
- [疯狂Java]集合:List、ListIterator
- List接口迭代器-ListIterator
- List集合特有迭代器ListIterator
- Iterator和ListIterator
- Iterator和ListIterator
- Iterator和ListIterator
- Iterator和ListIterator
- Iterator和ListIterator
- Iterator和ListIterator
- TP框架基础知识
- Lnmp下pureftpd新建FTP账户权限不足解决方法
- Java代理模式学习---完成一个数据库连接池中的close方法拦截
- 对象的序列化与反序列化
- APP下拉刷新
- List 和 ListIterator
- 获取URL
- 查看指定进程io状态的iotop命令
- 软件包管理器 HYSBZ
- java数组
- 使用markdown写下你的第一个md文档
- SpringBoot:spring boot log4j 配置
- lua,java相互调用之完整篇
- 用c++实现哈夫曼编码