首页 > 编程语言 > 详细

Java List

时间:2021-03-06 10:36:18      阅读:21      评论:0      收藏:0      [点我收藏+]
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;

/**
List是动态数组,替换原有的数组
 实现类:
        ArrayList(List接口的主要实现类)
        LinkedList
        Vector(List接口的古老实现类)
 三个实现类的异同:
    同:都实现了List接口,存储数据有序、可重复。
    异:ArrayList底层采用Object[]数组,LinkedList底层采用双向链表,对于频繁的插入、删除,LinkedList效率较高,ArrayList对于频繁的查找效率更高。两者线程都不安全,所以效率高。
        Vector和ArrayList相似,底层都采用Object[],但Vector线程安全,但效率没有ArrayList高。
 */

/**
 因为List存储数据有序,因此在父接口Collection基础上,又添加了一些与index有关的抽象方法:
 list.add(int index,Object e);
 list.addAll(int index,Collection e);
 list.set(int index,Ob e);
 list.get(int index);
 ☆E list.remove(int index);  父接口remove方法的{重载},父接口方法返回boolean,此处返回删除的元素
 indexOf(Ob o);
 lastIndexOf(Ob o);
 List subList(int fromIndex, int toIndex);包括fromIndex,不包括toIndex
 */
public class ListTest {
    public static void main(String[] args) {
        List list = new ArrayList();
        list.add(1);
        list.add(2);
        list.add(1, 3);
        System.out.println(list.subList(0,3));
        System.out.println(list.indexOf(1));
        System.out.println("list.get(0) = " + list.get(0));
        System.out.println("list.remove(0) = " + list.remove(0));
        System.out.println("list = " + list);
        list.set(0,"Jack");
        System.out.println("After setting list(0), list = " + list);
        
        
        List list1 = new ArrayList();
        list1.add(1);
        list1.add(3);
        //list1.remove(1);删除2,而不是1(使用index的方法)
        list1.remove(new Integer(1));
        //删除1
        System.out.println("list1 = " + list1);
        //list1 = [3]
    }
}

Java List

原文:https://www.cnblogs.com/WhiteThornZzf/p/14489238.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!