Java-集合框架-List,Set,Map,队列

这篇具有很好参考价值的文章主要介绍了Java-集合框架-List,Set,Map,队列。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Java集合框架:List,Set,Map,队列

Java集合框架是什么?

Java集合框架是一组用于存储和操作数据的类和接口。它提供了不同类型的集合,如List,Set,Map和队列,以满足不同的需求。

  • List:有序的集合,允许重复的元素。
  • Set:无序的集合,不允许重复的元素。
  • Map:键值对的集合,每个元素都包含一个键和一个值。
  • 队列:先进先出(FIFO)的集合,用于处理按顺序排列的元素。

如何使用?

List

List接口的常用实现类有ArrayList和LinkedList。可以使用以下步骤使用List集合:

  1. 导入List类和实现类的包:import java.util.List;import java.util.ArrayList;
  2. 创建List对象:List<String> list = new ArrayList<>();
  3. 添加元素:list.add("元素1");
  4. 访问元素:String element = list.get(0);
  5. 遍历集合:使用for循环或者迭代器遍历集合。

Set

Set接口的常用实现类有HashSet和TreeSet。可以使用以下步骤使用Set集合:

  1. 导入Set类和实现类的包:import java.util.Set;import java.util.HashSet;
  2. 创建Set对象:Set<String> set = new HashSet<>();
  3. 添加元素:set.add("元素1");
  4. 判断元素是否存在:boolean contains = set.contains("元素1");
  5. 遍历集合:使用for-each循环遍历集合。

Map

Map接口的常用实现类有HashMap和TreeMap。可以使用以下步骤使用Map集合:

  1. 导入Map类和实现类的包:import java.util.Map;import java.util.HashMap;
  2. 创建Map对象:Map<String, Integer> map = new HashMap<>();
  3. 添加键值对:map.put("键1", 1);
  4. 获取值:int value = map.get("键1");
  5. 遍历集合:使用for-each循环遍历键或值。

队列

队列接口的常用实现类有LinkedList和PriorityQueue。可以使用以下步骤使用队列:

  1. 导入队列类和实现类的包:import java.util.Queue;import java.util.LinkedList;
  2. 创建队列对象:Queue<String> queue = new LinkedList<>();
  3. 添加元素:queue.add("元素1");
  4. 获取并删除队列头部的元素:String element = queue.poll();
  5. 遍历队列:使用迭代器遍历队列。

什么场景使用?

  • List:适用于需要按照元素的插入顺序进行操作的场景,可以包含重复的元素。
  • Set:适用于需要保持唯一性的元素集合,不允许重复的元素。
  • Map:适用于需要通过键值对进行操作的场景,每个键都是唯一的。
  • 队列:适用于需要按照先进先出顺序处理元素的场景。

优缺点是什么?

List

优点:

  • 可以按照插入顺序访问元素。
  • 可以包含重复的元素。

缺点:

  • 在大型数据集合中查找元素的效率较低。

Set

优点:

  • 元素不重复,保持唯一性。
  • 查找元素的效率较高。

缺点:

  • 无序,不能按照插入顺序访问元素。

Map

优点:

  • 可以通过键值对进行操作,便于查找和修改元素。
  • 键是唯一的,保持唯一性。

缺点:

  • 无序,不能按照插入顺序访问元素。

队列

优点:

  • 按照先进先出的顺序处理元素。

缺点:

  • 无法在中间插入或删除元素。

Java示例

List示例

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

public class ListExample {
    public static void main(String[] args) {
        List<String> list = new ArrayList<>();
        
        list.add("元素1");
        list.add("元素2");
        list.add("元素3");
        
        for (String element : list) {
            System.out.println(element);
        }
    }
}

Set示例

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

public class SetExample {
    public static void main(String[] args) {
        Set<String> set = new HashSet<>();
        
        set.add("元素1");
        set.add("元素2");
        set.add("元素3");
        
        for (String element : set) {
            System.out.println(element);
        }
    }
}

Map示例

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

public class MapExample {
    public static void main(String[] args) {
        Map<String, Integer> map = new HashMap<>();
        
        map.put("键1", 1);
        map.put("键2", 2);
        map.put("键3", 3);
        
        for (String key : map.keySet()) {
            int value = map.get(key);
            System.out.println(key + ": " + value);
        }
    }
}

队列示例

import java.util.Queue;
import java.util.LinkedList;

public class QueueExample {
    public static void main(String[] args) {
        Queue<String> queue = new LinkedList<>();
        
        queue.add("元素1");
        queue.add("元素2");
        queue.add("元素3");
        
        while (!queue.isEmpty()) {
            String element = queue.poll();
            System.out.println(element);
        }
    }
}

以上示例分别展示了List,Set,Map和队列的基本用法。根据具体需求选择合适的集合类型,以提高代码的效率和可读性。文章来源地址https://www.toymoban.com/news/detail-677153.html

对比

维度 List Set Map 队列
实现类 ArrayList、LinkedList、Vector等 HashSet、LinkedHashSet、TreeSet等 HashMap、LinkedHashMap、TreeMap等 LinkedList、PriorityQueue等
元素 有序的、可重复的 无序的、不可重复的 以键值对的形式存储、键不可重复、值可重复的数据结构 先进先出的数据结构、支持插入、删除、查找等操作
存储 按索引顺序存储 无序存储 以键值对的形式存储 按插入顺序存储
访问 可以通过索引值对列表进行访问和修改 不能直接访问、可以通过迭代器进行访问 可以通过键值对进行访问和修改 可以通过队列头和队列尾进行访问和修改
性能 读取速度快,添加和删除速度较慢 添加和删除速度快,读取速度较慢 读取速度快,添加和删除速度较慢 添加和删除速度快,读取速度较慢
应用 适用于需要按索引顺序访问的情况 适用于需要去重的情况 适用于需要以键值对形式存储数据的情况 适用于先进先出的数据操作的情况

到了这里,关于Java-集合框架-List,Set,Map,队列的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • Java的集合类:List、Set、Map

    在 Java 中,集合类是一组有序或无序的数据元素的集合。Java 集合类可用于存储和操作各种数据类型的元素,如整数、字符串、对象等。集合类是动态的,可以在运行时根据需要调整其大小。 Java 集合类可以分为三类: List - 有序集合,允许重复元素 Set - 无序集合,不允许重

    2024年02月16日
    浏览(15)
  • Java基础六 - Collection集合List、Set、Queue,Map

    1. List - ArrayList、LinkedList、Vector ArrayList         2. LinkedList         3. Vector         4. 常见使用方法 2. Set - HashSet、LinkedHashSet、TreeSet 1. HashSet 2. LinkedHashSet 3. TreeSet 4. 常用方法 3. Map - HashMap、TreeMap、LinkedHashMap、Hashtable 1. HashMap 2. LinkedHashMap 3. TreeMap 4. Hashtable 5.

    2024年02月14日
    浏览(16)
  • Map,List,Set 等集合以及底层数据结构

    Map,List,Set 等集合以及底层数据结构

    集合类存放于java.util包中。集合类存放的都是对象的引用,而非对象本身。常见的集合主要有三种——Set(集)、List(列表)和Map(映射)。其中,List和Set 都 实现 了 Collection 接口,并且List和Set也是接口,而 Map 为独立接口 。常见的实现类如下: List 的实现类有:ArrayList、

    2024年02月09日
    浏览(14)
  • Java02-迭代器,数据结构,List,Set ,Map,Collections工具类

    Java02-迭代器,数据结构,List,Set ,Map,Collections工具类

    目录 什么是遍历? 一、Collection集合的遍历方式 1.迭代器遍历 方法 流程 案例 2. foreach(增强for循环)遍历 案例 3.Lamdba表达式遍历 案例 二、数据结构 数据结构介绍 常见数据结构 栈(Stack) 队列(Queue) 链表(Link) 散列表(Hash Table) 树(Tree) List接口 ArraysList集合 Linked

    2024年02月14日
    浏览(41)
  • Java02-迭代器,数据结构,List,Set ,TreeSet集合,Collections工具类

    Java02-迭代器,数据结构,List,Set ,TreeSet集合,Collections工具类

    目录 什么是遍历? 一、Collection集合的遍历方式 1.迭代器遍历 方法 流程 案例 2. foreach(增强for循环)遍历 案例 3.Lamdba表达式遍历 案例 二、数据结构 数据结构介绍 常见数据结构 栈(Stack) 队列(Queue) 链表(Link) 散列表(Hash Table) 树(Tree) List接口 ArraysList集合 Linked

    2024年02月14日
    浏览(31)
  • Java学数据结构(3)——树Tree & B树 & 红黑树 & Java标准库中的集合Set与映射Map & 使用多个映射Map的案例

    Java学数据结构(3)——树Tree & B树 & 红黑树 & Java标准库中的集合Set与映射Map & 使用多个映射Map的案例

    1.B树,阶M,数据树叶上,根的儿子数在2和M之间,除根外,非树叶节点儿子为M/2和M之间; 2.B树的插入引起分裂,B树的删除,引起合并和领养; 3.红黑树,根是黑的,红色节点的儿子必须是黑的,所有路径的黑色节点数相同; 4.红黑树的插入,颜色翻转,单旋转,插入节点定

    2024年02月11日
    浏览(20)
  • 【Java练习题汇总】《第一行代码JAVA》网络编程篇&集合体系篇&JDBC篇,汇总Java练习题——Socket 与ServerSocket、List和Set、Map~

    【Java练习题汇总】《第一行代码JAVA》网络编程篇&集合体系篇&JDBC篇,汇总Java练习题——Socket 与ServerSocket、List和Set、Map~

    一、填空题 在类集中存放单值的最大父接口是___________ ,存放一对值的最大父接口是___________ 。 ___________ 接口保存的数据是不允许重复的,并且___________ 子类是可以排序的,根据___________ 排序。 Java 类集可以使用的输出方式是___________ 、___________ 、___________ 和___________ 。 在

    2024年02月13日
    浏览(16)
  • 第12章_集合框架(Collection接口,Iterator接口,List,Set,Map,Collections工具类)

    第12章_集合框架(Collection接口,Iterator接口,List,Set,Map,Collections工具类)

    1.1 生活中的容器 1.2 数组的特点与弊端 一方面,面向对象语言对事物的体现都是以对象的形式,为了方便对多个对象的操作,就要对对象进行存储。 另一方面,使用数组存储对象方面具有 一些弊端 ,而Java 集合就像一种容器,可以 动态地 把多个对象的引用放入容器中。 数

    2024年01月25日
    浏览(18)
  • 【数据结构与算法】C++的STL模板(迭代器iterator、容器vector、队列queue、集合set、映射map)以及算法例题

    【数据结构与算法】C++的STL模板(迭代器iterator、容器vector、队列queue、集合set、映射map)以及算法例题

    更多算法例题链接: 【数据结构与算法】递推法和递归法解题(递归递推算法典型例题) 什么是迭代器(iterator) 迭代器(iterator)的定义: 迭代器是一种检查容器内元素并遍历元素的数据类型。 迭代器提供对一个容器中的对象的访问方法,并且定义了容器中对象的范围。 容器

    2024年04月14日
    浏览(19)
  • Java集合利器 Map & Set

    Java集合利器 Map & Set

    Map 和 Set 是一种专门用来进行搜索的数据结构,其搜索的效率与其具体的实例化子类有关。它们分别定义了两种不同的数据结构和特点: Map(映射) :Map是一种键值对(key-value)的集合,每个键值对都是一个元素。 Set(集合) :Set是一种不允许重复元素(key)的集合。 通

    2024年02月12日
    浏览(17)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包