List接口


学习目标

  • 掌握List接口

提示:以下是本篇文章正文内容,案例仅供参考

一、List接口

1.添加

  • 单个元素添加、单个元素指定下标添加

示例代码:

        li.add("Tom");
        li.add("Sad");
        li.add("Jerry");
        li.add(2,"xxx");  //添加位置是数组下标
  • 多个元素添加,多个元素指定下标添加

示例代码:

        li1.add("xsd");
        li1.add("xhc");

        li.addAll(li1);
        li.addAll(1,li1);  //插入位置从数组指定的数组下标位置开始

2.替换

示例代码:

li.set(1,"cherry");   //指定位置替换,替换位置为数组下标

3.移除元素

  • 指定元素移除

示例代码:

li.remove("Sad");



list.remove(new Integer(300)); //数字默认是数组下标
list.remove(0);  //使用下标移除的优先级更高
System.out.println(list);
  • 指定下标移除

示例代码:

li.remove(4); //数组下标

4.获取指定元素

  • 获取指定数组下标元素

示例代码:

System.out.println(list.get(0));

5.获取指定元素的下标

示例代码:

System.out.println(list.indexOf(100));  //获取集合第一次出现索引的位置
System.out.println(list.lastIndexOf(100)); //获取集合最后一次出现索引的位置

6.截取List

示例代码:

System.out.println(list.subList(1, 3)); //返回两个数的集合,前闭后和,从1开始到3之前结束(2结束)

二、List遍历

示例代码:

public class TestTwo {
    public static void main(String[] args) {
        // List接口的遍历
        List list = new ArrayList();
        list.add("Tom");
        list.add("Jerry");
        list.add("Mary");
        list.add("June");

        Iterator iter = list.iterator();
        while(iter.hasNext()){
            String s = (String)iter.next();
            System.out.println(s.toUpperCase());
        }
        System.out.println("-------------------------------------");
        for(Object o : list){
            String s = (String)o;
            System.out.println(s.toUpperCase());
        }
        System.out.println("---------------------------------------");
        for (int i = 0; i < list.size(); i++) {
            String s = (String)list.get(i);// 使用下标获取元素
            System.out.println(s.toUpperCase());
        }
    }
}

三、List特点

  • 允许重复元素,且有下标。
  • 底层使用可变长的数组实现,初始化长度为10,不够时进行1.5倍扩容。
  • List有序,怎么存怎么输出。
  • 不允许有效元素前有空位。

总结

1、List和Collection不同的是,遍历List可以进行有下标的遍历。三种遍历方式,Collection就两种。
2、LinkedList的特点:LinkedList底层使用双向链表实现。
3、ArrayList实现类遍历效率高,频繁存取效率低,LinkedList遍历效率低,频繁存取效率高。
4、LinkedList拥有一套对首尾元素单独操作的方法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值