java List接口

.List:存放的是单一的值 存储一组 不唯一 有序的对象

public class ListDemo {
    public static void main(String[] args) {
        List list = new ArrayList();
        list.add("abc");
        list.add(123);
        list.add(true);
        list.add(123);
        list.add(15.0);
        list.add(1,"OK");
        System.out.println(list);
        System.out.println(list.get(0));
        System.out.println(list.size());
        System.out.println(list.lastIndexOf(123));
        System.out.println(list.indexOf(123));
        System.out.println(list.set(4,"Oyear"));
        System.out.println(list);
        /*跟subString一样都是截取,截头不结尾
        只是subString是截取字符串,subList是截取索引出处的值
         */
        System.out.println(list.subList(0,4));
    }
 
}
3.

ArrayList
    初始容量是10
底层是由数组实现,但它实现了长度可变的数组(可以进行扩容 一次扩容1.5倍)
优点:遍历元素和随机访问元素的效率比较高
缺点:添加和删除需要移动大量的元素,效率低

     1.ArrayList是非线程安全的,高效率,
2.Vector是线程安全的,低效率
 ArrayList扩容是每次扩容1.5倍,Vector扩容是每次扩容2倍

4.LinkedList实现类
    采用的是链表存储方式
优点:插入删除元素的效率比较高
缺点:遍历和随机访问元素的效率低下

package com.shun.changyong;
 
import java.util.LinkedList;
 
public class LinkedListDemo {
    public static void main(String[] args) {
        LinkedList linkedList = new LinkedList();
        linkedList.add("abc");
        linkedList.add(123);
        linkedList.add(true);
        linkedList.add(18.0);
        //在指定位置插入元素
        linkedList.add(0,"Java!");
        LinkedList linkedList1 = new LinkedList();
 
        //丛指定集合插入第一个元素的索引(如果索引输入为1则会出现数组越界异常)
//        linkedList1.addAll(0,linkedList);
        linkedList1.addAll(linkedList);
        //在列表开头、结尾插入元素
         linkedList.addFirst("加油");
         linkedList.addLast("努力");
//删除集合中所有元素
//         linkedList.clear();
        //判断集合中有没有指定元素 有就true 没有就 false
        System.out.println(linkedList.contains("123"));
        //检索头不删
        System.out.println(linkedList.element());
        System.out.println(linkedList.peek());
        //检索头并删除
        System.out.println(linkedList.poll());
        System.out.println(linkedList.remove());
        //返回指定的元素
//        System.out.println(linkedList.get(5));
        //从堆栈中弹出列表头 并从列表中删除
        System.out.println(linkedList.pop());
        //替换指定索引出元素
        System.out.println(linkedList.set(3,"牛马!"));
//        System.out.println(linkedList1);
        System.out.println(linkedList);
        //转换为数组并进行输出
        Object[] objects = linkedList.toArray();
        for (int i = 0; i <linkedList.size() ; i++) {
            System.out.println(objects[i]);
        }
        System.out.println(linkedList.size());
 
    }

}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值