java的ArrayList LinkedList的操作

news/2024/9/24 12:01:13/

文章目录

  • ArrayList
    • 1. ArrayList集合的特点
    • 2. 操作
  • LinkedList
    • 1. LinkedList集合的特点
    • 2. 操作
  • 参考链接

ArrayList

1. ArrayList集合的特点

特点

2. 操作

  1. add(Object element) 向列表的尾部添加指定的元素。
  2. size() 返回列表中的元素个数。
  3. get(int index) 返回列表中指定位置的元素,index从0开始。
  4. add(int index, Object element) 在列表的指定位置(从0开始)插入指定元素
  5. set(int i, Object element) 使用元素element替换索引i位置的元素,并返回被替换的元素。
  6. clear() 从列表中移除所有元素。
  7. isEmpty() 判断列表是否包含元素,不包含元素则返回 true,否则返回false。
  8. contains(Object o) 如果列表包含指定的元素,则返回 true。
  9. remove(int index) 移除列表中指定位置的元素,并返回被删元素,删除位置后面的元素(如果有)向前移动。
  10. remove(Object o) 从List集合中移除第一次出现的指定元素,移除成功返回true,否则返回false。当且仅当List集合中含有满(o==null ? get(i)==null : o.equals(get(i)))条件的最低索引i的元素时才会返回true。
  11. iterator() 返回按适当顺序在列表的元素上进行迭代的迭代器。
  12. for循环遍历List集合:
  13. 加强for循环遍历List集合:
java">import java.util.ArrayList;
import java.util.Iterator;public class Test4 {public static void main(String[] args) {ArrayList<String> list = new ArrayList<String>();// 添加list.add("王者");list.add("荣耀");System.out.println(list);System.out.println(list.size());System.out.println(list.get(1));// 插入list.add(1,"吃鸡");System.out.println(list);// 替换list.set(1,"金蝉子");System.out.println(list);// 清空list.clear();System.out.println(list.isEmpty());System.out.println(list);list.add("王者");list.add("荣耀");list.add("金蝉子");// 是否包含System.out.println(list.contains("王者"));// 删除并返回被删元素System.out.println(list.remove(2));System.out.println(list);System.out.println(list.remove("王者"));System.out.println(list);list.add("王者");list.add("金蝉子");// 迭代Iterator<String> ite = list.iterator();while(ite.hasNext()){System.out.println(ite.next());}// 遍历System.out.println("--------");for(int i = 0; i < list.size(); i++){System.out.println(list.get(i));}System.out.println("----");for(String name:list){System.out.println(name);}}
}

输出结果:

[王者, 荣耀]
2
荣耀
[王者, 吃鸡, 荣耀]
[王者, 金蝉子, 荣耀]
true
[]
true
金蝉子
[王者, 荣耀]
true
[荣耀]
荣耀
王者
金蝉子
--------
荣耀
王者
金蝉子
----
荣耀
王者
金蝉子

LinkedList

1. LinkedList集合的特点

2.

2. 操作

  1. 添加
    boolean add(Object element) 它将元素附加到列表的末尾。
    boolean add(int index,Object element) 指定位置插入。
    void addFirst(E element) 元素附加到列表的头部
    void addLast(E element) 元素附加到列表的尾部
  2. 取数据
    Object get(int index) 根据下标获取数据
    Object getFirst() 它返回链表的第一个元素。
    Object getLast() 它返回链接列表的最后一个元素。
  3. 查询
    boolean contains(Object element)如果元素存在于列表中,则返回true。
  4. 修改
    Object set(int index,Object element)它用于用新元素替换列表中的现有元素
  5. 删除
    E remove() 删除第一个元素
    E remove(int location) 删除指定位置的元素
    E removeFirst() 删除并返回链接列表的头部一个元素
    E removeLast() 删除并返回链接列表的尾部一个元素
  6. 清空
    void clear():它删除列表中的所有元素。
  7. 链表长度
    int size():返回长度
java">import java.util.LinkedList;public class Test3 {public static void main(String[] args) {LinkedList<Integer> linkedList = new LinkedList<>();linkedList.add(1);linkedList.add(2);linkedList.add(3);linkedList.add(4);linkedList.addFirst(5);linkedList.addFirst(6);linkedList.addLast(7);linkedList.addLast(8);// 插入linkedList.add(2, 9);System.out.println(linkedList);// 根据下标获取数据System.out.println(linkedList.get(2));// 第一个System.out.println(linkedList.getFirst());// 最后一个System.out.println(linkedList.getLast());System.out.println(linkedList.contains(1));System.out.println(linkedList.contains(10));// 替换linkedList.set(0, 10);System.out.println(linkedList);// 删除第一个linkedList.remove();linkedList.remove(2);System.out.println(linkedList);// 长度System.out.println(linkedList.size());// 清空linkedList.clear();System.out.println(linkedList);}
}

输出结果:

[6, 5, 9, 1, 2, 3, 4, 7, 8]
9
6
8
true
false
[10, 5, 9, 1, 2, 3, 4, 7, 8]
[5, 9, 2, 3, 4, 7, 8]
7
[]

参考链接

Arraylist的基本使用方法
【Java集合类】之 LinkedList(链表)
数据结构之链表(LinkedList详解)


http://www.ppmy.cn/news/1438214.html

相关文章

OpenHarmony鸿蒙南向开发案例:【智能窗户通风设备】

样例简介 本文档介绍了安全厨房案例中的相关智能窗户通风设备&#xff0c;本安全厨房案例利用轻量级软总线能力&#xff0c;将两块欧智通V200Z-R/BES2600开发板模拟的智能窗户通风设备和燃气告警设备组合成。当燃气数值告警时&#xff0c;无需其它操作&#xff0c;直接通知软总…

Qt中ui界面的stylesheet转换为代码设置

问题背景&#xff1a; 多语言翻译时&#xff0c;有些翻译文本内容过长&#xff0c;无法全部显示出来&#xff0c;需要改变部分按钮字体的大小。在针对有多级结构的风格设置时&#xff0c;代码中调用setStyleSheet不生效。如下图&#xff1a; 直接将样式表中的内容复制到qstrin…

APP开发_ js 控制手机是否显示状态栏

1 Android 控制手机显示或隐藏状态栏的方法 1.1 使用 View 的 setSystemUiVisibility 方法 这个方法允许设置系统 UI 的可见性&#xff0c;包括状态栏。你可以通过组合不同的标志来实现不同的效果。 示例代码&#xff1a; Override protected void onCreate(Bundle saved…

Golang实现一个批量自动化执行树莓派指令的软件(2)指令

简介 基于上篇 Golang实现一个批量自动化执行树莓派指令的软件(1)文本加密&配置&命令行交互实现&#xff0c; 这篇实现的是指令&#xff0c; 即通过ssh执行linux指令的实现。 环境描述 运行环境: Windows&#xff0c; 基于Golang&#xff0c; 暂时没有使用什么不可跨平…

被删除的照片和视频能找回吗?如何恢复手机删除的照片和视频?

手机里的照片和视频是我们记录生活的每一个瞬间&#xff0c;也是工作学习等场合经常用到的东西&#xff0c;一旦不慎丢失&#xff0c;将对我们造成很大损失。那么我们该如何恢复手机删除的照片和视频呢&#xff1f;通过掌握正确的恢复方法&#xff0c;能够最大程度地保护手机中…

wstunnel (websocket模式代理http)

项目地址&#xff1a;Releases erebe/wstunnel GitHub 客户端centos7 192.168.254.134 服务端centos7 192.168.254.131 在客户端浏览器访问网站&#xff0c;流量经过客户端和服务端的websocket通信&#xff0c;最终服务端请求网站&#xff0c;返回数据&#xff0c;达到代…

Taro +vue3 中实现全局颜色css变量的设置和使用

当我们现在需要弄一个随时修改的页面颜色主题色 我们可以随时修改 我使用的是 Taro 框架 一般有一个app.less 文件 我们在这个里面 设置一个root 全局样式 :root {--primary-color: #028fd4;--secondary-color: #028fd6;/* 添加其他颜色变量 */ } 这样在全局我们就可以使用这…

初识reactor响应式编程

起源 Reactor响应式编程起源于数据流和变化的传播概念&#xff0c;其核心概念是由底层的执行模型通过数据流自动传播变化。这种编程范式最早由.NET平台上的Reactive Extensions (Rx)库实现&#xff0c;后来迁移到Java平台后&#xff0c;产生了著名的RxJava库&#xff0c;并衍生…