• java集合类常用的方法介绍


            在 Java 中,集合(Collections)是用于存储多个元素的容器。Java Collections Framework 提供了丰富的集合类,用于满足不同的数据存储需求。以下是一些常用的 Java 集合类及其常用方法,以及简单的例子来说明它们的用法。


            List 接口
            List 接口代表一个有序的元素集合,元素可以重复,并且允许元素为 `null`。
            1. **`ArrayList`**
       - `add(E e)`: 添加元素。
       - `remove(Object o)`: 移除元素。
       - `get(int index)`: 获取指定索引的元素。
       - `size()`: 获取集合大小。

    1.    ArrayList<String> myList = new ArrayList<>();
    2.    myList.add("Apple");
    3.    myList.add("Banana");
    4.    String secondElement = myList.get(1); // 获取索引为 1 的元素
    5.    myList.remove("Banana"); // 移除元素 "Banana"


            2. **`LinkedList`**
       - `addFirst(E e)`: 在列表开头添加元素。
       - `addLast(E e)`: 在列表末尾添加元素。
       - `removeFirst()`: 移除列表开头的元素。
       - `removeLast()`: 移除列表末尾的元素。

    1.    LinkedList<String> myList = new LinkedList<>();
    2.    myList.addFirst("Apple");
    3.    myList.addLast("Banana");
    4.    String firstElement = myList.removeFirst(); // 移除并获取列表开头的元素
    5.    


            Set 接口
            Set 接口代表一个无序的元素集合,元素不能重复。
    1. **`HashSet`**
       - `add(E e)`: 添加元素。
       - `remove(Object o)`: 移除元素。
       - `contains(Object o)`: 检查集合中是否包含指定元素。
       - `size()`: 获取集合大小。

    1.    HashSet<String> mySet = new HashSet<>();
    2.    mySet.add("Apple");
    3.    mySet.add("Banana");
    4.    boolean contains = mySet.contains("Banana"); // 检查集合中是否包含 "Banana"


    2. **`TreeSet`**
       - `add(E e)`: 添加元素。
       - `remove(Object o)`: 移除元素。
       - `contains(Object o)`: 检查集合中是否包含指定元素。
       - `size()`: 获取集合大小。
       - `first()`: 获取集合中的第一个元素。
       - `last()`: 获取集合中的最后一个元素。

    1.    TreeSet<String> mySet = new TreeSet<>();
    2.    mySet.add("Apple");
    3.    mySet.add("Banana");
    4.    String firstElement = mySet.first(); // 获取集合中的第一个元素
    5.  


            Map 接口
            Map 接口代表键值对的映射表,键不能重复。
    1. **`HashMap`**
       - `put(K key, V value)`: 添加键值对。
       - `get(Object key)`: 获取指定键的值。
       - `remove(Object key)`: 移除指定键的键值对。
       - `size()`: 获取映射的大小。
       - `isEmpty()`: 检查映射是否为空。
               

    1.    HashMap<String, String> myMap = new HashMap<>();
    2.    myMap.put("Key", "Value");
    3.    String value = myMap.get("Key"); // 获取键 "Key" 对应的值
    4.    myMap.remove("Key"); // 移除键 "Key"


            
    2. **`TreeMap`**
       - `put(K key, V value)`: 添加键值对。
       - `get(Object key)`: 获取指定键的值。
       - `remove(Object key)`: 移除指定键的键值对。
       - `size()`: 获取映射的大小。
       - `isEmpty()`: 检查映射是否为空。
       - `firstKey()`: 获取映射中的第一个键。
       - `lastKey()`: 获取映射中的最后一个键。
      

    1.    TreeMap<String, String> myMap = new TreeMap<>();
    2.    myMap.put("Key", "Value");
    3.    String value = myMap.get("Key"); // 获取键 "Key" 对应的值
    4.    myMap.remove("Key"); // 移除键 "Key"



            Queue 接口
    Queue 接口代表一个先进先出(FIFO)的元素队列。
    1. **`PriorityQueue`**
       - `add(E e)`: 添加元素。
       - `remove()`: 移除队列头部元素。
       - `peek()`: 获取队列头部元素,但不移除。
       - `size()`: 获取队列大小。

    1.    PriorityQueue<String> myQueue = new PriorityQueue<>();
    2.    myQueue.add("Apple");
    3.    myQueue.add("Banana");
    4.    String head = myQueue.peek(); // 获取队列头部元素,但不移除
    5.          


    2. **`LinkedList`**
       - `addFirst(E e)`: 在队列开头添加元素。
       - `addLast(E e)`: 在队列末尾添加元素。
       - `removeFirst()`: 移除队列开头的元素。
       - `removeLast()`: 移除队列末尾的元素。
            

    1.    LinkedList<String> myQueue = new LinkedList<>();
    2.    myQueue.addFirst("Apple");
    3.    myQueue.addLast("Banana");
    4.    String firstElement = myQueue.removeFirst(); // 移除并获取队列开头的元素
    5.      

       
            迭代器(Iterators)
            所有集合类都提供迭代器,用于遍历集合中的元素。
            

    1. List<String> myList = Arrays.asList("Apple", "Banana", "Cherry");
    2. Iterator<String> iterator = myList.iterator();
    3. while (iterator.hasNext()) {
    4.     String element = iterator.next();
    5.     System.out.println(element);
    6. }


            
            增强型集合类
    Java 8 引入了增强型集合类,包括 `List`, `Set`, 和 `Map`。
    1. **`List`**
       - `stream()`: 创建列表的流。
       - `forEach(Consumer action)`: 遍历列表中的每个元素。
       - `removeIf(Predicate filter)`: 移除满足给定谓词的元素。
              

    1.    List<String> myList = Arrays.asList("Apple", "Banana", "Cherry");
    2.    myList.removeIf(s -> s.startsWith("A")); // 移除所有以 "A" 开头的元素
    3.       

        
    2. **`Set`**
       - `stream()`: 创建集合的流。
       - `forEach(Consumer action)`: 遍历集合中的每个元素。
       - `removeIf(Predicate filter)`: 移除满足给定谓词的元素。

    1.    Set<String> mySet = new HashSet<>();
    2.    mySet.add("Apple");
    3.    mySet.add("Banana");
    4.    mySet.removeIf(s -> s.length() > 5); // 移除所有长度大于 5 的字符串
    5.         


    3. **`Map`**
       - `entrySet().stream()`: 创建映射项的流。
       - `forEach(BiConsumer action)`: 遍历映射中的每个映射项。
       - `removeIf(BiPredicate filter)`: 移除满足给定谓词的映射项。
               

    1.    Map<String, String> myMap = new HashMap<>();
    2.    myMap.put("Key1", "Value1");
    3.    myMap.put("Key2", "Value2");
    4.    myMap.entrySet().stream().filter(entry -> entry.getValue().startsWith("V")).forEach(entry ->         myMap.remove(entry.getKey())); // 移除所有值以 "V" 开头的映射项
    5.    


            总结
            Java 集合类是 Java 编程中不可或缺的部分,它们提供了丰富的方法和功能,以满足不同类型的数据存储和操作需求。通过学习这些集合类及其常用方法,你可以更有效地处理数据,并提高代码的效率和可读性。
            

  • 相关阅读:
    HTML做一个节日页面【六一儿童节】纯HTML代码
    【快应用】如何使用命令打包快应用rpk
    蜜雪冰城涨价怒赞无数 雪王张红超卷出一条阳道
    干货!一文搞定无头浏览器的概念以及在selenium中的应用
    【密评】商用密码应用安全性评估从业人员考核题库(十二)
    java计算机毕业设计基于ssm的协同过滤算法的电影推荐系统(源代码+数据库+Lw文档)
    CF33b-B. String Problem
    『力扣每日一题12』:只出现一次的数字
    分布式任务调度ScheduleMaster
    类与对象(十八)----super关键字
  • 原文地址:https://blog.csdn.net/u013558123/article/details/136523885