集合:接口List
来源:互联网 发布:java中吸收回车符 编辑:程序博客网 时间:2024/05/14 22:39
java.util.List(接口)
1.概述
所有集合的超类是Collection,准确的说是根接口。Collection没有直接实现类,它又有List和Set两个子接口,此处介绍List;
它是有序集合,用户可以对列表中每个元素插入的位置进行精确控制。用户可以根据元素索引访问或搜索元素。
与Set不同的是:它允许重复的元素。
List案例:存储字符串并遍历;存储自定义对象并遍历(同Collection的用法一样)
2.List的特点
A.有序:存储和取出的元素一致
B.可重复:可以出现相同的元素
3.List的特有功能
添加功能void add(int index, E element) 在指定位置添加一个元素boolean addAll(int index, Collection<? extends E> c) 在指定位置添加一个集合元素获取功能E get(int index) 获取指定位置的元素int indexOf(Object o) 获取指定元素的索引(第一次出现位置),没有该元素返-1int lastIndexOf(Object o) 获取指定元素的索引(最后一次出现位置),没有该元素返-1列表迭代器List集合特有的迭代器ListIterator<E> listIterator() 删除功能E remove(int index) 删除指定位置元素,并且返回被删除的元素修改功能E set(int index, E element) 修改指定位置元素,并且返回被修改的元素即改之前的元素
package knowledge_basic_02;import java.util.ArrayList;import java.util.Iterator;import java.util.List;import java.util.ListIterator;public class ListDemo { public static void main(String[] args) { //测试List的特点 //用List存储并遍历字符串 List l=new ArrayList(); l.add("abc"); l.add("def"); l.add("123"); l.add("456"); l.add("123"); Iterator it=l.iterator(); while(it.hasNext()) { String s=(String)it.next(); System.out.println(s); } //用List存储并遍历自定义对象,基本和Collection相同 System.out.println("----------------------"); //测试List的特有功能 System.out.println("l:"+l); //add l.add(5,"789"); System.out.println("l:"+l); List l2=new ArrayList(); l2.add("ABC"); l2.add("DEF"); //addAll l.addAll(6,l2); System.out.println("l:"+l); //get String s=(String)l.get(4); System.out.println(s); //indexOf、lastIndexOf System.out.println(l.indexOf("123")); System.out.println(l.lastIndexOf("123")); //remove System.out.println("remove的元素="+l.remove(4)); System.out.println("l:"+l); //set System.out.println("set的元素="+l.set(4, "888")); System.out.println("l:"+l); System.out.println("----------------------"); //List集合的遍历 System.out.println("待遍历的List集合:"+l); //方式1:List的get和size方法相结合来遍: for(int i=0;i<l.size();i++) { String str=(String)l.get(i); System.out.print(str+" "); } System.out.println("\n"); //方式2:List集合特有的迭代器:列表迭代器 //第一步:创建List集合对象 List list=new ArrayList(); //第二步:添加List集合元素 list.add("关羽"); list.add("张飞"); list.add("赵云"); list.add("马超"); list.add("黄忠"); System.out.println("待遍历的List集合:"+list); //第三步:遍历List集合 //1.创建列表迭代器对象 ListIterator lit=list.listIterator(); //2.1调用列表迭代器的hasNext()、next()顺序遍历 while(lit.hasNext()) { String str2=(String)lit.next(); System.out.print(str2+" "); } System.out.println("\n"); //2.2调用列表迭代器的hasPrevious()、previous()倒序遍历 while(lit.hasPrevious()) { String str3=(String)lit.previous(); System.out.print(str3+" "); } //需要注意的是:必须先正向遍历,才能逆向遍历,意义不大 System.out.print("\n"+"----------------------"+"\n"); }}
abc
def
123
456
123
l:[abc, def, 123, 456, 123]
l:[abc, def, 123, 456, 123, 789]
l:[abc, def, 123, 456, 123, 789, ABC, DEF]
123
2
4
remove的元素=123
l:[abc, def, 123, 456, 789, ABC, DEF]
set的元素=789
l:[abc, def, 123, 456, 888, ABC, DEF]
待遍历的List集合:[abc, def, 123, 456, 888, ABC, DEF]
abc def 123 456 888 ABC DEF
待遍历的List集合:[关羽, 张飞, 赵云, 马超, 黄忠]
关羽 张飞 赵云 马超 黄忠
黄忠 马超 赵云 张飞 关羽
0 0
- Java集合List接口
- 集合List接口
- 集合:接口List
- java集合-List接口
- List接口下的集合
- 集合框架之List接口
- Java集合类--List接口
- 1003--Java集合--List接口
- 集合第三发List接口
- 集合框架值List接口
- 《JAVA集合中的List接口》
- 集合框架一:List接口
- java集合中的List接口
- Java集合之List接口
- Java集合 List接口详解
- Java-集合(list接口)
- 集合Collection接口下Set接口List接口
- java 集合类之list接口
- GridControl自定义合并单元格 多个条件同时满足
- Android之仿QQ的侧滑菜单
- Curl用法点滴
- Python-OpenCV 处理图像(三):图像像素点操作
- RISC和CISC比较
- 集合:接口List
- 欢迎使用CSDN-markdown编辑器
- android Glide 获取磁盘缓存
- 大数(加减乘除)
- Java基础总结
- js-鼠标经过显示下拉菜单
- Linux Nginx Centos 下使用 ab 工具 进行压力测试
- 欢迎使用CSDN-markdown编辑器
- Java线程与Linux内核线程的映射关系