对于JAVA中的 list 集合 知道这些就够了

List 集 合
List集合为列表类型,以线性方式存储对象。
特点:元素允许重复,顺序有序(按元素插入顺序排列)
主要的常用方法

void add(int index,Object obj);向index位置插入obj
Boolean addAll(int index,Collection c)将c中所有元素插入到以index开始的列表中
Object get(int index)返回指定下标的对象
Object set(int index,Object obj)对下标为index的位置进行赋值
int indexOf(Object obj)返回列表中第一次出现obj的下标,若不存在返回-1

1.1 ArrayList 集合
ArrayList支持可随需要而增长的动态数组
代码示例:

class Test{
	public static void main(String[] args) {
		
	ArrayList<String> list1 = new ArrayList<>();
	
	System.out.println("list1初始长度为:"+ list1.size());
		list1.add("A");  
		list1.add("B");
		list1.add("C");
		list1.add("D");
		list1.add("E");
		list1.add("F");
		//将B2添加在list1的index=1的位置
		list1.add(1, "B2");
	System.out.println("list1加入元素后的大小:" + list1.size());
	System.out.println("list1元素为:"+ list1);
		list1.remove("A");
		list1.remove(2);
	System.out.println("list1删除元素后的大小:" + list1.size());
	System.out.println("list1元素为:" + list1);
}
}

Output:

list1初始长度为:0
list1加入元素后的大小:7
list1元素为:[A, B2, B, C, D, E, F]
list1删除元素后的大小:5
list1元素为:[B2, B, D, E, F]      // 需要移动数据,使得B2作为index=0的元素。

底层是使用数组实现,查询速度快,增删慢
1.2 LinkedList 集合

addFirst()在列表头增加元素
addLast()在列表尾增加元素
getFirst()获取第一个元素
getLast()获取最后一个元素
removeFirst()去除第一个元素
removeLast()-去除最后一个元素

基于链表实现操作,特点:查询慢,增删快
使用LinkedList实现栈


import java.util.LinkedList;

public class MyStack {
    private LinkedList<String> linkList = new LinkedList<String>();
    
    // 压栈
    public void push(String str){
        linkList.addFirst(str);
    }
    
    // 出栈
    public String pop(){
        return linkList.removeFirst();
    }
    
    // 查看
    public String peek(){
        return linkList.peek();
    }
    
    // 判断是否为空
    public boolean isEmpty(){
        return linkList.isEmpty();
    }
}

public class Test {
    public static void main(String[] args) {
    
        MyStack stack = new MyStack();
        stack.push("first");
        stack.push("second");
        stack.push("third");
        stack.push("forth");
        stack.push("fifth");
        // 取出
        while (!stack.isEmpty()){
            String pop = stack.pop();
            System.out.println(pop);
        }
       
    }

}

Output

		fifth
        fourth
        third
        second
        first

LinkedList 也可实现队列。

总结List集合:ArrayList 和 LinkedList 缺点都为线程不安全

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mandela688

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值