java学习笔记-list集合

java学习笔记-list集合

1. ArrayList

  1. 概述:有序集合,用户可以精确控制列表中每个元素的插入位置,用户可以通过整数索引访问元素,并且搜索列表中的元素

list集合特点:
有序,存储和取出的元素顺序一
可重复:存储的元素可以重复

package com.ustc.test5;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

public class listdemo1 {
    
    
    public static void main(String[] args) {
    
    
        List<String> list = new ArrayList<>();
        list.add("a");
        list.add("b");
        list.add("c");
        list.add("d");
        list.add("e");
        System.out.println(list);
        
        Iterator<String> it = list.iterator();
        while(it.hasNext())
        {
    
    
            System.out.println(it.next());
        }

    }
}

ArrayList特有的方法:

Void add(int index,Element e)   //插入元素
E remove(int index)       //指定索引删除元素
E set(int index,E element)   //指定索引修改元素
E get(int index)             //指定索引 获取元素
package com.ustc.test5;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

public class listdemo1 {
    
    
    public static void main(String[] args) {
    
    
        List<String> list = new ArrayList<>();
        list.add("a");
        list.add("b");
        list.add("c");
        list.add("d");
        list.add("e");
        System.out.println(list);

        Iterator<String> it = list.iterator();
        while(it.hasNext())
        {
    
    
            System.out.println(it.next());
        }

        list.remove(1);
        System.out.println(list);

        list.set(0,"xxx");
        System.out.println(list);

        String s = list.get(0);
        System.out.println(s);

    }
}

ArrayList:底层数据结构是数组,查询快,增删慢

空参构造创建ArrayList对象:创建一个长度为0的数组

变量size :默认指向0索引,添加一个元素,size++

当数组添加满之后 在添加一个元素 数组进行扩容,将原有数组的内容添加到新的数组中,(动态数组)

2.LinkedList

底层数据结构是链表 查询慢 增删快

package com.ustc.test5;

import java.util.Iterator;
import java.util.LinkedList;

public class test6 {
    
    

    public static void main(String[] args) {
    
    

        LinkedList<String> l = new LinkedList<>();
        l.add("xxxx");
        l.add("z");
        l.add("a");
        l.add("x");
        l.add("3ewew");
        for (int i = 0; i < l.size(); i++) {
    
    
            System.out.println(l.get(i));
        }
        Iterator<String> it = l.iterator();
        while(it.hasNext()){
    
    
            System.out.println(it.next());
        }

    }
}

特有功能:

Public void addFirst(E e)   //链表开头添加元素
pubLic void addLast(E e)   //链表结尾添加元素’
Public E getFirst()   //返回列表中的第一个元素
Public E getLast()    //返回列表中的最后一个元素
Public E removeFirst()    //从列表中删除并且返回第一个元素
Public E removeLast()  //从列表中删除最后一个元素

猜你喜欢

转载自blog.csdn.net/qq_44653420/article/details/121486871