您现在的位置是:首页 > 短信大全

【Java基础】Java中ArrayList和LinkedList的基本使用(附代码)

作者:欧阳逸时间:2024-04-01 12:10:44分类:短信大全

简介  文章浏览阅读1.2k次,点赞44次,收藏40次。Java中ArrayList和LinkedList的基本使用,附代码。

点击全文阅读

  📝个人主页:哈__

期待您的关注 

目录 

一、ArrayList集合

1. ArrayList集合的特点

2. ArrayList集合当中的一些方法。

     ①.add(Object element) 向列表的尾部添加指定的元素。

     ②.size() 返回列表中的元素个数。

     ③.get(int index) 返回列表中指定位置的元素,index从0开始。

     ④.add(int index, Object element) 在列表的指定位置(从0开始)插入指定元素

     ⑤.set(int i, Object element) 使用元素element替换索引i位置的元素,并返回替换元素。

     ⑥.clear() 从列表中移除所有元素。

     ⑦.isEmpty() 判断列表是否包含元素,不包含元素则返回 true,否则返回false。

     ⑧.contains(Object o) 如果列表包含指定的元素,则返回 true。

     ⑨.remove(int index) 移除列表中指定位置的元素,并返回被删元素,删除位置后面的元素(如果有)向前移动。

     ⑩.remove(Object o) 从List集合中移除第一次出现的指定元素,移除成功返回true,否则返回false。

 二、LinkedList集合

1.LinkedList集合的特点

 2.LinkedList集合的一些方法

     ①.添加

     ②:获取数据

     ③.删除

     ④.查询

     ⑤.修改

一、ArrayList集合

ArrayList数组是一个泛型数组,在定义的时候需要传入存储数据的类型。

1. ArrayList集合的特点

 

2. ArrayList集合当中的一些方法。
①.add(Object element) 向列表的尾部添加指定的元素。
②.size() 返回列表中的元素个数。
③.get(int index) 返回列表中指定位置的元素,index从0开始。
 public static void main(String[] args) {        ArrayList<String> arrayList = new ArrayList<>();        System.out.println("创建的ArrayList集合初始的大小是"+arrayList.size());        arrayList.add("张三");        arrayList.add("李四");        arrayList.add("王五");        int arrayLength = arrayList.size();        System.out.println("创建的ArrayList集合,并添加数据之后的大小是"+arrayLength);        for(int i = 0;i<arrayLength;i++){            System.out.println("添加的第" +(i+1) +"条数据是"+arrayList.get(i));        }    }

对于初学者来说,可以把上边我定义的arrayList看作为String [] arrayList = new String[]; 只不过ArrayList不需要你去传入数组是多大,因为ArrayList数组是动态扩充的,具体是怎么扩充的这篇文章先不做解释。

 ④.add(int index, Object element) 在列表的指定位置(从0开始)插入指定元素
 public static void main(String[] args) {        ArrayList<String> arrayList = new ArrayList<>();        arrayList.add("张三");        arrayList.add("李四");        arrayList.add("王五");                arrayList.add(0,"喜羊羊");        int arrayLength = arrayList.size();        for(int i = 0;i<arrayLength;i++){            System.out.println("添加的第" +(i+1) +"条数据是"+arrayList.get(i));        }    }

 如上图所示,我在arayList中的0号位置添加了一条数据,那么原本在第一条的张三的位置就会被喜羊羊代替,张三和后边的数据都向后移。这也容易理解,在一次体育课上,张三、李四和王五是跑步的前三名,老师将他们的姓名和名字记录在自己的表格当中,张三——第一名,李四——第二名,王五——第三名。现在喜羊羊觉得不服,他要重新挑战前三名,并且成功挑战获得比张三更好的成绩。老师无奈下只能将表格修改为喜羊羊——第一名,张三——第二名,以此类推。

⑤.set(int i, Object element) 使用元素element替换索引i位置的元素,并返回替换元素。
 public static void main(String[] args) {        ArrayList<String> arrayList = new ArrayList<>();        arrayList.add("张三");        arrayList.add("李四");        arrayList.add("王五");        arrayList.set(0,"喜羊羊");        int arrayLength = arrayList.size();        for(int i = 0;i<arrayLength;i++){            System.out.println("添加的第" +(i+1) +"条数据是"+arrayList.get(i));        }    }

 

这一次也不难理解,体育老师在登机成绩的时候,觉得第一名眼熟,仔细一想叫做张三,于是将张三定为了第一名。实际的第一名一看排名表发现自己不在排行榜上,于是找到了老师,老师说:“张三,你不是第一名吗,怎么说没有你?”解释了一下老师才发现自己想错名字了,第一名不叫张三,他叫喜羊羊,于是老师只能将榜单的第一名修改为喜羊羊。

注意:set方法的index坐标不能超过ArrayList集合当前的长度-1 否则的话会这样,

⑥.clear() 从列表中移除所有元素。
⑦.isEmpty() 判断列表是否包含元素,不包含元素则返回 true,否则返回false。
 public static void main(String[] args) {        ArrayList<String> arrayList = new ArrayList<>();        arrayList.add("张三");        arrayList.add("李四");        arrayList.add("王五");        System.out.println(arrayList.isEmpty());        // false        arrayList.clear();        System.out.println(arrayList.isEmpty());        //true    }
 ⑧.contains(Object o) 如果列表包含指定的元素,则返回 true。
 public static void main(String[] args) {        ArrayList<String> arrayList = new ArrayList<>();        arrayList.add("张三");        arrayList.add("李四");        arrayList.add("王五");        boolean res = arrayList.contains("张三");        //true        boolean res2 = arrayList.contains("喜羊羊");        //false        System.out.println("是否存在张三:"+res);        System.out.println("是否存在喜羊羊:"+res2);    }
⑨.remove(int index) 移除列表中指定位置的元素,并返回被删元素,删除位置后面的元素(如果有)向前移动。
 public static void main(String[] args) {        ArrayList<String> arrayList = new ArrayList<>();        arrayList.add("张三");        arrayList.add("李四");        arrayList.add("王五");        for (int i = 0; i < arrayList.size(); i++) {            System.out.println(arrayList.get(i));        }        System.out.println("将张三删除");        arrayList.remove(0);        for (int i = 0; i < arrayList.size(); i++) {            System.out.println(arrayList.get(i));        }    }

⑩.remove(Object o) 从List集合中移除第一次出现的指定元素,移除成功返回true,否则返回false。
 public static void main(String[] args) {        ArrayList<String> arrayList = new ArrayList<>();        arrayList.add("张三");        arrayList.add("李四");        arrayList.add("王五");        System.out.println("再次添加张三");        arrayList.add("张三");        for (int i = 0; i < arrayList.size(); i++) {            System.out.println(arrayList.get(i));        }        System.out.println("删除张三");        arrayList.remove("张三");        for (int i = 0; i < arrayList.size(); i++) {            System.out.println(arrayList.get(i));        }    }

 

 二、LinkedList集合

1.LinkedList集合的特点

 2.LinkedList集合的一些方法
①.添加
 public static void main(String[] args) {        LinkedList<Integer> linkedList = new LinkedList<>();        linkedList.add(1);        linkedList.add(2);        linkedList.add(3);        linkedList.addFirst(4);        linkedList.addFirst(5);        linkedList.addLast(6);        System.out.println(linkedList);    }

实现过程

first和last指向的就是链表中的第一个位置和最后一个位置。我们可以看到addFirst的过程和first的重新指向。 

②:获取数据

Object get(int index) 根据下标获取数据

Object getFirst() 它返回链表的第一个元素。

Object getLast() 它返回链接列表的最后一个元素。

public static void main(String[] args) {        LinkedList<Integer> linkedList = new LinkedList<>();        linkedList.add(1);        linkedList.add(2);        linkedList.add(3);               System.out.println(linkedList.get(1));        System.out.println(linkedList.getFirst());        System.out.println(linkedList.getLast());    }

③.删除

E remove() 删除第一个元素

E remove(int location) 删除指定位置的元素

E removeFirst() 删除并返回链接列表的头部一个元素

E removeLast() 删除并返回链接列表的尾部一个元素

代码不再展示。 

④.查询

boolean contains(Object element)如果元素存在于列表中,则返回true。

    LinkedList<Integer> linkedList = new LinkedList<>();    linkedList.add(1);    linkedList.add(2);    linkedList.add(3);    linkedList.add(1);    System.out.println("是否出现过元素1:"+linkedList.contains(1));    //是否出现过元素1:true    System.out.println("是否出现过元素4:"+linkedList.contains(4));    //是否出现过元素4:false
⑤.修改

Object set(int index,Object element)它用于用新元素替换列表中的现有元素

LinkedList<Integer> linkedList = new LinkedList<>();linkedList.add(1);linkedList.add(2);linkedList.add(3);linkedList.add(1);linkedList.set(1,9);System.out.println("更新过的链表:"+linkedList);//更新过的链表:[1, 9, 3, 1]

 其他的内容不再展示了。

点击全文阅读

郑重声明:

本站所有活动均为互联网所得,如有侵权请联系本站删除处理

上一篇:大雁塔的导游词

下一篇:返回列表

我来说两句