ArrayList和LinkedList的基本方法

本文详细介绍了ArrayList的add、get/set、remove和toArray方法,以及LinkedList的add、get和remove方法。通过示例代码展示了如何在ArrayList中插入、获取、删除元素以及转换为数组,同时解释了LinkedList在首尾及指定位置添加元素的操作。
摘要由CSDN通过智能技术生成

一、ArrayList

1.add方法

①public boolean add(E e):将指定的元素添加到当前列表的尾部;

②public void add(int index,E element):在当前列表的指定位置添加指定元素

③public boolean addAll(Collection<? extends E> c):将指定的列表添加到此列表的尾部

④public boolean addAll( int index,Collection<? extends E e> c ):在当前列表的指定位置添加指定的列表

package No_2;

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

public class ArrayListAdd {
    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<>();
        list.add("一月");
        list.add("二月");
        list.add("三月");
        list.add("四月");
        list.add("五月");
        list.add(0,"十二月");
        list.add(2,"十一月");

        List<String>myList = new ArrayList<>();
        myList.add("周一");
        myList.add("周二");
        list.addAll(1,myList);//前面加上索引,可以在指定位置添加元素


        System.out.println("元素值:"+list);
    }

}
元素值:[十二月, 周一, 周二, 一月, 十一月, 二月, 三月, 四月, 五月]

2.get/set方法

①public E get(int index):返回此列表指定索引处的元素

②public E set(int index ,E element):用指定的元素替换此列表中指定位置的元素

package No_2;

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

public class ArrayListGetSet {
    public static void main(String[] args) {
        List<String> list = new ArrayList<>();
        list.add("哥哥");
        String s1 = list.set(0,"弟弟");
        System.out.println(s1);

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

哥哥
弟弟

注意:当在使用set方法是索引的范围不能大于等于size(),否则会出现ArrayIndexOutOfBoundsException(用非法索引访问数组时抛出的异常)

3.remove方法

①public E remove(int index ):删除该列表中指定位置的元素

②public boolean remove(Object o):删除该列表中指定的元素

③public boolean removeAll(Collection<?> c):从此列表中删除指定集合包含的所有元素

④public boolean retainAll()collection<?> c:除了集合c中的元素全部删除

package No_2;

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

public class ArrayListRemove {
    public static void main(String[] args) {
        List<String> list = new ArrayList<>();
        list.add("good");
        list.add("fine");
        list.add("just so so");
        list.add("no bad");
        list.add("bad");
        //测试public E remove(int index)
        String s1 = list.remove(1);
        System.out.println("删除的:"+s1+"\n剩下的:"+list);

        //测试public boolean remove(Object o)
        boolean flag_1 = list.remove("good");
        System.out.println("删除的:"+flag_1+"\n剩下的:"+list);

        //测试public boolean removeAll(Collection<?> c)
        List<String> mylist = new ArrayList<>();
        mylist.add("刘德华");
        mylist.add("郭富城");
        mylist.add("黎明");
        mylist.add("张学友");
        boolean flag_2 =mylist.removeAll(mylist);
        System.out.println("删除的:"+flag_2 + "剩下的:"+mylist);
    }
}
删除的:fine
剩下的:[good, just so so, no bad, bad]
删除的:true
剩下的:[just so so, no bad, bad]
删除的:true剩下的:[]

注意:若要对集合操作但是又要将移除的元素进行再次操作时,可以使用set方法和remove方法。

4.toArray方法——将集合转化为数组

①public Object[] toArray():当回一个包含当前列表所有元素的数组

②public T[] toArray(T[] a):当回一个包含当前列表所有元素的数组,指定类型

package No_2;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class ArrayListToArrayMethod {
    public static void main(String[] args) {
        List<String > list = new ArrayList<>();
        list.add("张无忌");
        list.add("谢逊");
        list.add("赵敏");
        //测试public Object toArray;
        Object[] o1 = list.toArray();
        //测试public <T> T[] toArray(T[] a);
        String[] s1 = list.toArray(new String[]{});
        System.out.println(Arrays.toString(s1));

    }
}
[张无忌, 谢逊, 赵敏]

二、LinkedList

1.add方法

package No_3;

import java.util.LinkedList;

public class LinkedListAdd {
    public static void main(String[] args) {
        LinkedList<String> list = new LinkedList<>();
        //向集合的末尾添加
        list.add("a");
        list.add("b");
        list.add("c");
        list.addFirst("1");//在集合的第一个位置添加元素
        list.addLast("2");//在集合的最后位置添加元素
        System.out.println(list);//输出list集合
        System.out.println(list.size());//输出集合的长度
    }
}
[1, a, b, c, 2]
5

2.get方法

package No_3;

import java.util.LinkedList;

public class LinkedListGet {
    public static void main(String[] args) {
        LinkedList<String> list = new LinkedList<>();
        list.add("A");
        list.add("B");
        list.add("C");
        list.add("D");

        String first = list.getFirst();//得到不移除
        System.out.println(first);

        String last = list.getLast();//得到不移除
        System.out.println(last);
        System.out.println(list);
    }
}

A
D
[A, B, C, D]

3.remove

package No_3;

import java.util.LinkedList;

public class LinkedRemove {
    public static void main(String[] args) {
        LinkedList<String> list = new LinkedList<>();
        list.add("张无忌");
        list.add("谢逊");
        list.add("赵敏");

        String s = list.removeFirst();//移除第一个元素,并返回集合

        System.out.println(s);
        System.out.println(list);

        String s1 = list.removeLast();//移除最后一个元素,并返回集合
        System.out.println(s1);
        System.out.println(list);

    }
}

张无忌
[谢逊, 赵敏]
赵敏
[谢逊]

  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值