当前位置: 首页 > article >正文

java中常见集合,非常重要!!!

Java 集合框架提供了一组用于存储和操作对象的类和接口,主要包括 List、Set 和 Map。下面是对 Java 集合的主要类型和它们的特点的介绍。

  1. 集合的主要接口
    Collection:集合的根接口,表示一组对象。

List:有序集合,允许重复元素。常用实现:

ArrayList:基于动态数组,支持快速随机访问,但在插入和删除元素时性能较低。
LinkedList:基于双向链表,适合频繁插入和删除操作。

Set:不允许重复元素的集合。常用实现:

HashSet:基于哈希表实现,提供常数时间复杂度的基本操作(如添加、删除和包含)。 LinkedHashSet:继承自
HashSet,保持插入顺序。 TreeSet:基于红黑树,提供排序功能,元素按自然顺序或指定比较器排序。
Map:存储键值对,不允许重复键。常用实现:

HashMap:基于哈希表实现,提供常数时间复杂度的基本操作,允许 null 值。 LinkedHashMap:保持插入顺序,性能略低于
HashMap。 TreeMap:基于红黑树,提供排序功能,键按自然顺序或指定比较器排序。

  1. 常用操作
    2.1. List 示例
import java.util.ArrayList;
import java.util.List;

public class ListExample {
    public static void main(String[] args) {
        List<String> list = new ArrayList<>();
        list.add("Apple");
        list.add("Banana");
        list.add("Cherry");

        System.out.println("List: " + list);
        System.out.println("Element at index 1: " + list.get(1));
        list.remove("Banana");
        System.out.println("After removal: " + list);
    }
}

2.2. Set 示例

import java.util.HashSet;
import java.util.Set;

public class SetExample {
    public static void main(String[] args) {
        Set<String> set = new HashSet<>();
        set.add("Apple");
        set.add("Banana");
        set.add("Apple"); // 重复元素不会添加

        System.out.println("Set: " + set);
    }
}

2.3. Map 示例

import java.util.HashMap;
import java.util.Map;

public class MapExample {
    public static void main(String[] args) {
        Map<String, Integer> map = new HashMap<>();
        map.put("Apple", 1);
        map.put("Banana", 2);
        map.put("Cherry", 3);

        System.out.println("Map: " + map);
        System.out.println("Value for 'Banana': " + map.get("Banana"));
        map.remove("Banana");
        System.out.println("After removal: " + map);
    }
}
  1. 集合的特性
    动态大小:ArrayList 和 LinkedList 可以根据需要自动扩展和收缩。
    有序性:List 和 LinkedHashSet 保持插入顺序,TreeSet 和 TreeMap 则提供排序。
    高效性:HashSet 和 HashMap 提供常数时间复杂度的基本操作。
  2. 常见方法
    List:
add(E e):添加元素
remove(Object o):移除元素
get(int index):获取指定索引的元素
size():获取元素数量

Set:

add(E e):添加元素
remove(Object o):移除元素
contains(Object o):检查是否包含元素
size():获取元素数量

Map:

put(K key, V value):添加键值对
get(Object key):获取指定键的值
remove(Object key):移除指定键的元素
keySet():获取所有键的集合

以上希望对你有所帮助,记得一键三连哦!


http://www.kler.cn/news/366790.html

相关文章:

  • 传输层UDP
  • 最新PHP网盘搜索引擎系统源码 附教程
  • 《Windows PE》7.4 资源表应用
  • 免费PDF页面提取小工具
  • 使用text-embedding-3-small生成向量并将向量插入Mlivus Cloud用于语义搜索的深度解析与实战操作
  • 一站式学习 Shell 脚本语法与编程技巧,踏出自动化的第一步
  • 基于SSM农业信息管理系统的设计
  • LeetCode Hot 100:回溯
  • 基于微信小程序的智能社区服务管理系统
  • 阻塞队列——Java
  • SQL SERVER 2005/2008/2012/2016/2020 数据库状态为“可疑”的解决方法(亲测可用)
  • LeetCode - #127 单词接龙
  • 在 MySQL 中,添加索引后,插入、更新和删除操作的性能通常会变慢的原因
  • 2.插入排序(斗地主起牌)
  • 强化学习数学原理学习(一)
  • golang开发alertmanagerWebhook,实现prometheus+alertmanagerWebhook告警
  • 1.Linux按键驱动
  • AI绘画开源王者归来,Stable Diffusion 3.5 AI绘画模型开源发布
  • 矩阵的可解性:关于Ax=b的研究
  • WeakHashMap详解
  • 谷粒商城の订单服务分布式事务
  • 京准电钟:NTP网络授时服务器应用航管自控系统
  • jmeter学习(6)逻辑控制器
  • 【Python】Whoosh:全流程自建搜索引擎
  • 【c++篇】:从基础到实践--c++内存管理技巧与模版编程基础
  • 免费的CMS系统有哪些?