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 ... 
随机推荐
- STORM_0007_Multi-Lang protocol of Storm/多语言协议的翻译
			原始地址: http://storm.apache.org/releases/1.0.1/Multilang-protocol.html 这个协议试用0.7.1之后的版本 通过ShellBolt和 ... 
- 查询计划Hash和查询Hash
			查询计划hash和查询hash 在SQL Server 2008中引入的围绕执行计划和缓冲的新功能被称为查询计划hash和查询hash.这是使用针对查询或查询计划的算法来生成二进制hash值的二进制对 ... 
- DOM解析XML练习
			首先以XML文件存储数据,格式如下(作为数据库) exam.xml <?xml version="1.0" encoding="UTF-8" standa ... 
- HDU5807分段dp
			DAG图. [题意] n(50)个城市m(c(n,2))条单向边(x,y),保证x<y 对于三个点(x,y,z)如果abs(w[x]-w[y])<=K && abs(w[x ... 
- 关于level DB的相关资料
			可以参考: http://blog.csdn.net/houzengjiang/article/details/7718548 http://www.cnblogs.com/haippy/archiv ... 
- [mysql]支持emoji(字符集问题)!
			问题的根源 主要问题就是在字符集,一般解决这种问题都是靠试验.我实验了一通,得出的结论和大家分享一下(如有错误,还望指正): 数据库的字符集 数据库连接的字符集 配置方法 设置数据库的字符集为utf8 ... 
- iOS 开发之 Xcode6 installation failed invalid argument!
			1.运行模拟器的时候 报出: installation failed invalid argument! 原因分析: 我把Bundle indentifier 置为空了! http://stackov ... 
- C语言下动态库相互调用
			前段时间需要完成多个模块业务,而这些模块的接口都是一样的,于是为了方便管理就把每个模块都根据接口封装成了SO库,这里就留下SO库调用样例 SO库源文件代码: //TestSo.c #include & ... 
- SQL语句在数据库中是如何执行的
			第一步:应用程序把查询SQL语句发给服务器端执行 我们在数据层执行SQL语句时,应用程序会连接到相应的数据库服务器,把SQL语句发送给服务器处理. 第二步:服务器解析请求的SQL语句 SQL计划缓存, ... 
- HM中字典编码分析
			LZ77算法基本过程 http://jpkc.zust.edu.cn/2007/dmt/course/MMT03_05_2.htm LZ77压缩算法详解 http://wenku.baidu.com/ ... 
