【QA】Java集合常用的函数

文章目录

前言

本文介绍Java集合中常用的函数。

Collection接口

通用函数 | Collections工具类

通用函数 | List接口 + Set接口

通用函数,均与索引无关。

方法 作用
public boolean add(E e)
public boolean remove(E e)
public void clean() 删完
public boolean contains(Object obj) 包含
public boolean isEmpty() 判空
public int size() 返回集合的元素数量

remove()contains()两个函数依赖对象底层的equals()方法

  • 若对象没有重写equals()方法,比较的是地址值,无法按照要求删除
  • 需要重写该方法,让对象比较属性值是否一致

List接口

ArrayList

ArrayList的创建:

java 复制代码
List<Integer> al = new ArrayList<Integer>;

List<List<Integer>> al = new ArrayList<List<Integer>>;			// 这种创建方式是对的

List<List<Integer>> al = new ArrayList<ArrayList<Integer>>;		// 这种创建方式是错的

方法(均与索引有关):

函数 功能
public void add(int index, E element);
public E remove(int index);
public E set(int index, E element);
public E get(int index);

示例:

java 复制代码
package com.itheima.collection.list;

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

public class ListDemo1 {
    public static void main(String[] args) {

        List<String> list = new ArrayList<>();

        list.add("张三");
        list.add("李四");
        list.add("王五");

        list.set(0, "赵六");
        list.remove(1);		// 根据索引删除:List接口的特点,传入的参数是int类型的索引

        System.out.println(list.get(0));
        System.out.println(list);

        System.out.println("-------------------------");

        List<Integer> list2 = new ArrayList<>();

        list2.add(111);        // Integer e = 111;
        list2.add(222);
        list2.add(333);

        list2.remove(Integer.valueOf(222));		// 根据元素删除,需要这样写,以跟索引删除的方法区分开
        System.out.println(list2);
    }
}
  • 根据索引删除元素:是List接口(子)的特点

  • 根据元素删除元素:是Collection接口(父)的特点

LinkedList

函数 功能
public void add(int index, E element);
public void addFirst(E e);
public void addLast(E e)
public E remove(int index);
public E removeFirst()
public E removeLast()
public E set(int index, E element);
public E get(int index);
public E getFirst()
public E getLast()

Set接口

TreeSet

函数 功能
boolean addAll(Collection<? extends E> c)
通用方法里面,针对对象的删除
删 + 增 改(移除元素并重新添加)
E first()
E last()

HashSet

函数 功能
通用方法里面,按照元素的增
通用方法里面,按照元素的删
删 + 增
不具备

LinkedHashSet

用到再说

Map接口

通用函数

函数 操作
V put(K, key, V value)
V remove(Object key)
void clear()
boolean containsKey(Object key) 包含
boolean containsValue(Obejct value)
boolean isEmpty() 判空
int size() 返回集合中元素的数量

TreeMap

函数 功能
通用方法里面的
通用方法里面的
删 + 增

HashMap

函数 功能
通用方法里面的
通用方法里面的
删 + 增
V get(Object k)V getOrDefault(Object k, V Default_Value)

LinkedHashMap

用到再说

相关推荐
Scott9999HH10 小时前
【IIoT流量实战】蒸汽管道阀门全关却仍有流量?用 Python 实现涡街信号 FFT 频谱分析与温压全补偿积算网关,深度拆解靠谱的涡街流量计厂家硬核技术标准
开发语言·python
腻害兔10 小时前
【若依项目-产品经理视角】深度拆解 RuoYi-Vue-Pro 商城模块:从商品管理到交易引擎,50 张表撑起一整套电商系统
java·大数据·vue.js·产品经理·ai编程
码智社11 小时前
AES加密原理详解及Java实现加解密实战
java·开发语言
AI云海11 小时前
python 列表、元组、集合和字典
开发语言·python
萧瑟余晖12 小时前
JDK 26 新特性详解
java·开发语言
马优晨12 小时前
Freemarker 完整讲解(后端 Java 模板引擎)
java·开发语言·freemarker·freemarker 完整讲解·freemarker模板引擎
人邮异步社区14 小时前
怎么把C语言学到精通?
c语言·开发语言
心平气和量大福大14 小时前
C#-WPF-控件-TextBox 数据绑定
开发语言·c#·wpf
ttwuai15 小时前
Cursor 生成 CRUD 后,Go 后台接口别只测 200:JWT、RBAC 和 tenant_id 怎么验
开发语言·后端·golang
维天说15 小时前
CLI-Switch 2026年3月版历史设计:Hook、TTY 隔离与 JSON 状态
java·服务器·json