马士兵java架构师

您现在的位置是:架构师问答 >

架构师问答

java集合分为哪三大类(list,set,map)

2023-11-16 14:26:45架构师问答 本文浏览次数:1 百度已收录

本 文 目 录

Java集合是Java提供的一组用于数据存储的类。它们可以帮助我们存储、管理和操作数据。这些数据结构是编程中最常用的,因此Java提供了一套丰富的API来支持这些数据操作。主要集中在三大类:list,set,map。

一、Java集合的三大类

1、列表(List) 2、集(Set) 3、映射(Map)

二、list集合

列表(List) 特性:列表中的元素是有序的,并且允许重复。 常用操作:添加元素、删除元素、获取元素。

import java.util.*;  
public class ListExample {  
    public static void main(String[] args) {  
        List<String> list = new ArrayList<>(); // 创建一个列表  
        list.add("apple");                     // 添加元素  
        list.add("banana");  
        System.out.println(list);             // 打印:[apple, banana]  
        list.remove("apple");                // 删除元素  
        System.out.println(list);             // 打印:[banana]  
    }  

}

三、集(Set)

特性:集中的元素是无序的,不允许重复。 常用操作:添加元素、删除元素、检查元素是否存在。

import java.util.*;  
public class SetExample {  
    public static void main(String[] args) {  
        Set<Integer> set = new HashSet<>();    // 创建一个集合  
        set.add(1);                           // 添加元素  
        set.add(2);  
        set.add(2);                          // 尝试添加重复元素,无效  
        System.out.println(set);            // 打印:[1, 2]  
        set.remove(1);                      // 删除元素  
        System.out.println(set);            // 打印:[2]  
    }  

}

四、映射(Map)

特性:映射存储键值对,键是无序的且不允许重复,但值可以重复。 常用操作:添加键值对、根据键获取值、删除键值对。

import java.util.*;  
public class MapExample {  
    public static void main(String[] args) {  
        Map<String, Integer> map = new HashMap<>();   // 创建一个映射  
        map.put("apple", 1);                          // 添加键值对  
        map.put("banana", 2);  
        System.out.println(map);                     // 打印:{apple=1, banana=2}  
        int appleCount = map.get("apple");           // 根据键获取值  
        System.out.println(appleCount);              // 打印:1  
        map.remove("apple");                         // 删除键值对  
        System.out.println(map);                     // 打印:{banana=2}  
    }  
}

五、为什么数组不属于集合类?

数组和集合都是用来存储数据的结构,但它们之间存在一些关键区别,这使得数组不被认为是集合。这些区别主要包括:

特性 数组 集合
有序性 是(元素位置固定) 否(元素位置不确定)
可重复性 是(允许元素重复) 否(元素唯一,不重复)
可变性 否(大小固定) 是(大小动态调整)
示例类型 C++中的数组、Python中的list Python中的set、Java中的HashSet

这个表格简洁明了地展示了数组和集合在有序性、可重复性以及可变性这三个方面的区别,同时还提供了各种编程语言中对应结构的示例。