- 1、本文档共24页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
JAVA 基础课程-集合操作
-唐 霞
List接口是Collection的子接口,用于定义线性表数据结构。可以将List理解为存放对象的数组,只不过其元素个数可以动态的增加或减少。
List接口的两个常见实现类为ArrayList和LinkedList,分别用动态数组和链表的方式实现了List接口。
可以认为ArrayList和LinkedList的方法在逻辑上完全一样,只是在性能上有一定的差别。ArrayList更适合于随机访问而LinkedList更适合于插入和删除。在性能要求不是特别苛刻的情形下可以忽略这个差别。
List除了继承Collection定义的方法外,还根据其线性表的数据结构定义了一系列方法,其中最常用的就是基于下标的get和set方法:
-E get(int index)获取集合中指定下标对应的元素,下标从0开始
-E set(int index,E elment)将给定的元素存入给定位置,并将原位置的元素返回
public void testGetAndSet(){
ListString list = new ArrayListString();
list.add(java);list.add(cpp);list.add(php);list.add(c#); list.add(objective-c);
for(int i=0;ilist.size();i++){
System.out.println(list.get(i).toUpperCase());
}
String value = list.set(1,c++);
System.out.println(value);//cpp
System.out.println(list);//[java, c++, php, c#, objective-c]
list.set(1,list.set(3,list.get(1)));//交换位置2和4上的元素
System.out.println(list);//[java, c#, php, c++, objective-c]
}
List根据下标的操作还支持插入和删除操作。
-void add(int index,E element);
//将给定的元素插入到指定位置,原位置及后续元素都顺序向后移动。
-E remove(int index)
//删除给定位置的元素,并将被删除的元素返回
public void testInsertAndRemove(){
ListString list = new ArrayListString();
list.add(java);
list.add(c#);
System.out.println(list);//[java,c#]
list.add(1,cpp);
System.out.println(list);//[java,cpp,c#]
list.remove(2);
System.out.println(list);//[java,cpp]
}
List的subList方法用于获取子List
需要注意的是,subList获取的List与原List占用相同的存储空间,对子List的操作会影响原List.
ListE subList(int formIndex,int toIndex);
fromIndex和toIndex是截取子List的首尾下标(前包括,后不包括)
public void testSubList(){
ListInteger list = new ArrayListInteger();
for(int i=0;i10;i++){
list.add(i);
}
System.out.println(list);//[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
ListInteger subList = list.subList(3
您可能关注的文档
- IPO操作流程[企业上市辅导]讲义.ppt
- IPO集体土地案例总结讲义.docx
- IPO上市架构如何搭建最节税讲义.docx
- IPQC业务管理规定(最新版本)讲义.doc
- IPQC制程品质管理检查理论---(三大项)首件.自主.顺序讲义.ppt
- CcdB分子生物学研究进展讲义.doc
- IPS细胞研究进展07版讲义.pptx
- IP地址段与子网掩码计算表(整理)讲义.docx
- CCL铜箔基板技术及发展趋势介绍(学习心得)讲义.doc
- SGM-Wuhan-Safety-021化学品安全管理规定讲义.docx
- 大学生职业规划大赛《新闻学专业》生涯发展展示PPT.pptx
- 大学生职业规划大赛《应用统计学专业》生涯发展展示PPT.pptx
- 大学生职业规划大赛《音乐学专业》生涯发展展示PPT.pptx
- 大学生职业规划大赛《中医学专业》生涯发展展示PPT.pptx
- 大学生职业规划大赛《信息管理与信息系统专业》生涯发展展示PPT.pptx
- 大学生职业规划大赛《汽车服务工程专业》生涯发展展示PPT.pptx
- 大学生职业规划大赛《水产养殖学专业》生涯发展展示PPT.pptx
- 大学生职业规划大赛《市场营销专业》生涯发展展示PPT.pptx
- 大学生职业规划大赛《音乐表演专业》生涯发展展示PPT.pptx
- 大学生职业规划大赛《音乐学专业》生涯发展展示PPT.pptx
文档评论(0)