list接口

原创 2016年06月01日 16:16:43

list接口继承了Collection接口来定义一个允许重复项的有序集合。List接口大量的扩充了Collection接口的操作。该接口能对列表的一部分进行操作,而且还添加了面向位置的操作,比如添加元素add(int index,Object element)、移除元素remove(int index)等。

List接口的特点:1.集合中的元素可以重复;2.元素顺序是有序的,即放进去的顺序和获取元素的顺序是一致的

List接口的常用子类ArrayList、LinkList、Vector
1.ArrayList:通过面向对象的多态性为List接口实例化。内部用数组实现。

//创建一个ArrayList的集合,泛型为Student
   List<Student> list = new ArrayList<Student>();

向集合中添加元素

 Student stu1 = new Student("张三",14);//创建一个Student对象
    list.add(stu1);

遍历list集合中的元素(方法一)

for(int i=0;i<list.size();i++){
            Student s = list.get(i);//获取集合中第i个位置的元素
            System.out.println(s.getName());
        }

遍历list集合中的元素(方法二):for each循环

for(Student stu:list){
            System.out.println(stu.getName());
        }

遍历list集合中的元素(方法三):iterator循环

Iterator<Student> it= list.iterator();
        while(it.hasNext()){//如果有下一个元素,就将它打印出来
            System.out.println(it.next().getName());
        }

List集合中元素的排序
将集合中的学生进行排序时,必须要指定一个裁判来制定规则,因为学生是一个对象,没有可比性,只能根据它拥有的属性来比较进行排序。这个裁判由Comparator来充当,重写其中的compare方法。

Collections.sort(list,new Comparator<Student>(){
            @Override
            public int compare(Student arg0, Student arg1) {
                // TODO Auto-generated method stub
                return arg1.getAge()-arg0.getAge();
            }
        });

通过上面的排序操作,集合就会按照学生的年龄进行排序。
因为compare方法的返回值为int型,如果比较的两个元素是double型或String型,就需要用各自包装类的compareTo方法。例如按学生的姓氏进行排列时:


                return arg1.getName().compareTo(arg0.getName());

对compare方法的解释:
按照升序排序时:如果arg<0arg1,返回-1;相等返回0;arg0>arg1,返回1。
按照降序排序时:如果arg<0arg1,返回1,相等返回0;arg0>arg1,返回-1。

ArrayList和LinkList的区别:
ArrayList是基于数组的集合,查找快,因为LinkList需要移动指针从一端一个一个查,浪费时间。
LinkList是链表结构的集合,插入删除快,因为在ArrayList中插入或删除元素时后面的元素都要移动,浪费时间。

ArrayList和Vector的区别:
Vector支持线程的同步,即同一时间内只允许一个线程使用Vector,线程安全但是效率低。
ArrayList线程不安全但是效率高。

Java类集 _List接口

1、掌握 List 接口与Collection 接口的关系 2、掌握 List 接口的常用子类:ArrayList 、Vector 3、掌握 ArrayList 与 Vector 类的区别 具体...
  • hanshileiai
  • hanshileiai
  • 2011年08月28日 10:52
  • 6985

List接口的实现类---ArrayList、LinkedList、Vector之间的区别--------(java复习)

集合类说明及区别 Collection ├List │├LinkedList │├ArrayList │└Vector │ └Stack └Set Map ├Hashtable ├HashMap └W...
  • qq_27093465
  • qq_27093465
  • 2016年03月24日 17:44
  • 4692

集合 List<E>接口的方法简介

集合中的List方法简介arraylist与vector的区别这两个类都实现了List接口(List接口继承了Collection接口),他们都是有序集合,即存储在这两个集合中的元素的位置都是有顺序的...
  • zhengTornado
  • zhengTornado
  • 2016年05月14日 22:09
  • 951

《JAVA集合中的List接口》

JAVA中的集合类:          JAVA中的集合类,是一种工具类,,就像是容器,存储任意数量的具有共同属性的对象。 集合的作用:          一、在类的内部对数据进行组织(如果有些...
  • self_realian
  • self_realian
  • 2016年07月11日 16:36
  • 1512

List接口的定义

13.3.1  List接口的定义List是Collection的子接口,其中可以保存各个重复的内容。此接口的定义如下:public interface List extends Collection...
  • shenghuiping2001
  • shenghuiping2001
  • 2010年01月21日 14:06
  • 904

List Set Map以及子接口用法总结

Collection ├List │├LinkedList │├ArrayList │└Vector │ └Stack └Set Map ├Hashtable ├HashMap ...
  • yuliangliang092
  • yuliangliang092
  • 2016年08月14日 14:57
  • 775

JavaSE入门学习35:Java集合框架之List接口及其实现类ArrayList和LinkedList

一List接口概述        List接口是Collection接口的子接口,实现List接口的集合类中的元素是有顺序的,而且可以重复,被称为序列。        List集合中的元素都对应一个整...
  • erlian1992
  • erlian1992
  • 2016年05月02日 17:01
  • 3473

(Java笔记)List接口及其实现类---ArrayList

List的用法 List包括List接口以及List接口的所有实现类。因为List接口实现了Collection接口,所以List接口拥有Collection接口提供的所有常用方法,又因为List是...
  • changjiale110
  • changjiale110
  • 2017年07月19日 20:04
  • 436

Thinking in Java之List接口、ArrayList类源码学习

前言                   上一篇文章探究了Collection接口的详细设计和相关的方法。文章的链接如下:              http://blog.csdn.net/ki...
  • kiritor
  • kiritor
  • 2013年05月03日 10:00
  • 4167

List接口、Set接口和Map接口

1、List和Set接口自Collection接口,而Map不是继承的Collection接口 Collection表示一组对象,这些对象也称为collection的元素;一些 collect...
  • zcg_java
  • zcg_java
  • 2015年01月28日 16:16
  • 5225
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:list接口
举报原因:
原因补充:

(最多只允许输入30个字)