Java集合——List接口
1.定义
List是Collection的子接口,元素有序并且可以重复,表示线性表。
2.方法
add(int index,Object e):在指定索引(和数组下标类似,为0,1,2....)放入元素
addAll(int index,Collection e):在指定索引处放入集合
Object get(int index):获取指定索引的元素
int indexOf(Object o):获取指定元素在集合中的索引(若元素重复,返回元素第一次所在的索引),判定方法为equals(),需要重写equals方法
int lastIndexOf(Object o):返回此列表中最后出现的元素的索引
Object remove(int index):删除指定索引对应的元素
Object set(int index,Object e):替换指定索引的元素
List subList(int fromIndex, int toIndex):返回索引为[form,to)的元素集合
3.常用实现类
ArrayList:它为元素提供了下标,可以看作长度可变的数组,为顺序线性表。
LinkedList:通过代价较低的在List中间进行插入和删除操作,提供了优化的顺序访问,但是在随即访问方面相对比较慢,为链表线性表。
4.实例
import static org.junit.Assert.*;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Iterator;
import java.util.List;
import org.junit.Test;
import day8.Customer;
//可以看作长度可变的数组,元素可以重复
public class TestArrayList {
//遍历操作
public void iteratecollection(Collection c){
Iterator it=c.iterator();
while(it.hasNext()){
Object obj=it.next();
System.out.println(obj);
}
}
//索引:索引和数组下标类似,为0,1,2.....
@Test
public void tesList(){
List l1=new ArrayList();
l1.add(new Customer(1,"AA"));
l1.add(new Customer(2,"BB"));
l1.add(new Customer(3,"CC"));
l1.add(new Customer(4,"DD"));
iteratecollection(l1);
System.out.println();
//增强for循环遍历操作
/*for(Object l :l1){
System.out.println(l);
}*/
/*//add(int index,Object e)在指定索引处(和数组类似,索引为0,1,2....)放入元素
l1.add(3,new Customer(5,"EE"));
iteratecollection(l1);
System.out.println();*/
//addAll(int index,Collection e)在指定索引放入集合
l1.addAll(3,Arrays.asList(new Customer(5,"EE"),new Customer(6,"FF")));
iteratecollection(l1);
System.out.println();
//Object get(int index)获取指定索引的元素
Object obj=l1.get(0);
System.out.println(obj);
// Customer cc=(Customer) l1.get(1); //类型的强制转换
// System.out.println(cc);
System.out.println();
//int indexOf(Object o)获取指定元素在集合中的索引(若元素重复,返回元素第一次所在的索引),判定方法为equals(),需要重写equals方法
int index=l1.indexOf(new Customer(3,"CC"));
System.out.println(index);
System.out.println();
//int lastIndexOf(Object o)返回此列表中最后出现的指定元素的索引
l1.add(new Customer(3,"CC"));
int lastindex=l1.lastIndexOf(new Customer(3,"CC"));
System.out.println(lastindex);
//Object remove(int index)删除指定索引对应的元素
l1.remove(2);
//Object set(int index,Object e)替换指定索引的元素
l1.set(2, new Customer(3,"LL"));
iteratecollection(l1);
System.out.println();
//List subList(int fromIndex, int toIndex)返回索引为[form,to)的元素集合
List sublist=l1.subList(1, 3);
System.out.println(sublist);
}
}

涉及的完整代码:http://www.cnblogs.com/jfl-xx/p/4707643.html
Java集合——List接口的更多相关文章
- Java集合Map接口与Map.Entry学习
Java集合Map接口与Map.Entry学习 Map接口不是Collection接口的继承.Map接口用于维护键/值对(key/value pairs).该接口描述了从不重复的键到值的映射. (1) ...
- java集合类型接口和实现类个人总结
转载:http://blog.csdn.net/qingchunbusanchang/article/details/39576749 java的集合是一个比较综合的概念,相关的知识有很多的博客里面做 ...
- JAVA集合--Iterator接口
本文首发于cartoon的博客 转载请注明出处:https://cartoonyu.github.io/cartoon-blog 上一篇文章中我在集合元素的遍历中已经有涉及到I ...
- JAVA集合--Collection接口
本文首发于cartoon的博客 转载请注明出处:https://cartoonyu.github.io/cartoon-blog 在概述里面也说过:Collection是jav ...
- java集合——Collection接口
Collection是Set,List接口的父类接口,用于存储集合类型的数据. 2.方法 int size():返回集合的长度 void clear():清除集合里的所有元素,将集合长度变为0 Ite ...
- Java集合——Set接口
1.定义 set中不允许放入重复的元素(元素相同时只取一个),使用equals()方法进行比较.如果返回true,两个对象的HashCode值也应该相等 2.方法 add():添加元素 remove( ...
- Java集合——Map接口
1.定义 Map用于保存存在映射关系<key,value>的数据.其中,key值不能重复(使用equals()方法比较),value值可以重复 2.方法 V put(key,value) ...
- Java 集合-List接口和三个子类实现
List List:有序的 collection(也称为序列).此接口的用户可以对列表中每个元素的插入位置进行精确地控制.用户可以根据元素的整数索引(在列表中的位置)访问元素,并搜索列表中的元素.与 ...
- Java 集合-Collection接口和迭代器的实现
2017-10-30 00:30:48 Collection接口 Collection 层次结构 中的根接口.Collection 表示一组对象,这些对象也称为 collection 的元素.一些 c ...
随机推荐
- Windows Internals学习笔记(三)Procdump的使用
参考资料: 1. 下载地址 2. 使用示例
- CSS笔记(十一)CSS3之边框
参考:http://www.w3school.com.cn/css3/css3_border.asp 圆角边框 <!DOCTYPE html> <html> <head& ...
- 关于Docker在测试方面的应用
Docker 火了很长一段时间了,前段时间简单的学习和试玩了一下子,发现他对测试很有价值,觉得有必要再次深入研究. 这里标记一些较好的学习网址,用作参考: InfoQ上面有系列的文章: 深入浅出Doc ...
- 泰信---->20131025~20131101(周计划安排)
学习java相关知识计划安排: [前期复习阶段] (一)熟悉java相关语言基础. (二)搭建一个纯web项目工程,实现增加,删除,修改,查询以及分页...功能. (三)熟悉jboss的使用和相关配置 ...
- iOS - 3DTouch 3D 触摸
1.3DTouch 简介 3DTouch 是 iOS9 + 系统下,在 iPhone6s(iPhone6s Plus)+ 手机上才能够使用的功能. 1.1 3DTouch 基本类型 1.主屏幕快速选项 ...
- 流媒体基础实践之——Nginx-RTMP-module 指令详解
转载网址:http://blog.csdn.net/aoshilang2249/article/details/51483814
- Team Formation
#include <stdio.h> #include <ctype.h> #include <math.h> #include <stack> #in ...
- css3,环绕圆环 loading,小组件
一个loading的小组件, 给其他模块调用.先上图 type:cat type:ball 第一幅loading,老鼠是一个圆形的背景图片,已经转成base64. 小猫也是图片 也已经转成base64 ...
- 没办法,还是要补一下js,回调函数(转载)
<html> <head> <title>回调函数(callback)</title> <script language="javasc ...
- poj1584A Round Peg in a Ground Hole
链接 题意甚是难懂!这是第二遍做这道题了,依旧无法理解题意,搜了下题意... 首先需要判断是不是为凸多边形.(从一个顶点走一遍即可,要注意顺逆时针,题目中没有指明) 其次看一下圆是不是能够放入多边形内 ...