前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Java基础】Java中ArrayList和LinkedList的基本使用(附代码)

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

作者头像
哈__
发布2024-04-08 21:21:29
1250
发布2024-04-08 21:21:29
举报
文章被收录于专栏:哈哈熊哈哈熊

一、ArrayList集合

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

1. ArrayList集合的特点
2. ArrayList集合当中的一些方法。
①.add(Object element) 向列表的尾部添加指定的元素。
②.size() 返回列表中的元素个数。
③.get(int index) 返回列表中指定位置的元素,index从0开始。
代码语言:javascript
复制
 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开始)插入指定元素
代码语言:javascript
复制
 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位置的元素,并返回替换元素。
代码语言:javascript
复制
 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。
代码语言:javascript
复制
 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。
代码语言:javascript
复制
 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) 移除列表中指定位置的元素,并返回被删元素,删除位置后面的元素(如果有)向前移动。
代码语言:javascript
复制
 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。
代码语言:javascript
复制
 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集合的一些方法
①.添加
代码语言:javascript
复制
 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() 它返回链接列表的最后一个元素。

代码语言:javascript
复制
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。

代码语言:javascript
复制
    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)它用于用新元素替换列表中的现有元素

代码语言:javascript
复制
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]

其他的内容不再展示了。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2024-03-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、ArrayList集合
    • 1. ArrayList集合的特点
      • 2. ArrayList集合当中的一些方法。
      • 二、LinkedList集合
        • 1.LinkedList集合的特点
          • 2.LinkedList集合的一些方法
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档