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接口

  • 2016-02-28 12:40
  • 280KB
  • 下载

set.list.map接口

  • 2012-03-29 22:43
  • 18KB
  • 下载

Java集合框架总结(4)——List接口的使用

Java集合框架总结(4)——List接口的使用     List集合代表一个有序集合,集合中每个元素都有其对应的顺序索引。List集合允许使用重复元素,可以通过索引来访问指定位置的集合元素...

List接口中特有方法--074

package com.sqf.conlection; import java.util.ArrayList; import java.util.List; /* List接口中特有方法: 如果是...

黑马程序员——集合中List接口

——- android培训、java培训、期待与您交流! ———- 集合 Collection 中 List接口 List接口特点 ArrayList LinkedList Vector...

LIST接口及其子类

1.LIST接口及其子类概述区别 2.链表:增删快,查询慢。 数组:增删慢,查询快。 3.并发修改异常的产生及修改方法 4.删除ARRAYLIST中重复的元素 4.1改进版 ...

java的List接口的实现类 ArrayList,LinkedList,Vector 的区别

Java的List接口有3个实现类,分别是ArrayList、LinkedList、Vector,他们用于存放多个元素,维护元素的次序,而且允许元素重复。 3个具体实现类的区别如下:       ...

Java集合类--List接口

List接口: List接口有三个实现类:ArrayList、LinkedList和Vector: 1.ArrayList内部是通过数组的形式实现,线性表结构,存储内容必须是连续的、不可重复、有序的列...

【java】List接口

要点: 1.list可以添加任何对象,包括自定义的类对象 //定义了一个Person类 class Person{ ..... } //添加到中去 Person p1=new Person(); Pe...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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