List接口

List接口中最常用的实现类有:

ArrayList:底层实现是数组,线程不安全,效率高,查询效率高,修改,插入,删除效率低
LinkedList:底层实现是链表,线程不安全,效率高,查询效率低,修改,插入,删除效率高。
Vector:线程安全,效率低
这里写图片描述

ArrayList, LinkedList, Vector 实现类常用的方法

    //在list对象中添加元素
    list.add("sdffff");

    //在list对象中给定位置添加元素
    list.add(2,"qweq");

    //在list对象中添加对象
    list.addAll(list1);

    //在list对象中给定位置添加对象
    list.addAll(2, list1);

    //清除list里面的元素
    //list.clear();

    //判断list中有没有包含"1234",有返回true,否则false
    list.contains("1234");

    //判断list中包不包含list1中所有的元素,有返回true,否则false
    list.containsAll(list1);

    //判断list中的内容和list1中的内容一不一致,如果一致返回true,否则返回false
    list.equals(list1);

    //根据下标获取list中的元素
    list.get(0);

    //获取list的哈希值
    list.hashCode();

    //判断第一个出现的元素是不是123,如果是返回true,否则false
    list.indexOf("123");

    //判断list中是否有元素,有返回true,否则false
    list.isEmpty();

    //遍历的迭代器
    Iterator<String> iterator=list.iterator();
    //hasNext()用来判断是否有下一页
    while (iterator.hasNext()) {
        //next()用来判断是否有一下个元素
        System.out.println(iterator.next());
    }


    //判断list最后一次出现的元素是不是123,是返回true,否则false
    list.lastIndexOf("123");

    //listIterator迭代器中有个倒序,前提是存在正序
    ListIterator<String> lists=list.listIterator();
    while (lists.hasNext()) {
        System.out.println(lists.next());
    }
    System.out.println("倒序");
    while (lists.hasPrevious()) {
        System.out.println(lists.previous());

    }
两种迭代器的区别(Iterator和ListIterator)

http://blog.csdn.net/chensheng913/article/details/564320

//Iterator()不能指定从哪个地方开始遍历,而listIterator可以
list.listIterator(1);
//根据list对象中元素的下标来删除指定元素
    list.remove(0);

    //根据list对象中元素的值来删除
    list.remove("123");

    //根据list对象来删除
    list.removeAll(list);

    //根据list对象来删除指定位置的对象
    list.retainAll(list1);

    //修改list对象指定位置的元素
    list.set(2, "qqq");

    //返回list对象元素的数目
    list.size();

    //截取list对象中根据下标来截取需要的元素(切记:第一个元素是大于等于,第二个元素是小于的)
    list.subList(0, 2);
    //把list对象的元素赋值给toArray(参数),参数是数组,意思就是把数组list的值给到参数。
    list.toArray();

    list.toArray(new Integer[list.size()]);
    //把list对象的元素以字符串的形式输出
    list.toString();

    //通知list对象中的元素可以运行了
    list.notify();
    //通知list对象可以运行了
    list.notifyAll();
    //通知list对象中的元素先等待
    list.wait();
    //notify(),wait()用在线程中

notify()和notifyAll()的区别

    http://blog.csdn.net/zdw890412/article/details/7714443

如何选用?
线程安全用Vector.
线程不安全,查找较多用ArrayList,增加或删除元素较多用LinkedList.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值