📜  讨论Java.util包(1)

📅  最后修改于: 2023-12-03 14:57:36.513000             🧑  作者: Mango

讨论Java.util包

简介

Java.util包是Java语言中最常用的包之一,提供了许多常用的工具类。该包的核心类是集合类,包括List、Map、Set等等,以及针对日期、时间、随机数、排序等问题的工具类。本文将讨论该包的基本用法以及一些有趣的用例。

常用类和接口
List接口

List是Java.util包中最基本、最常用的接口之一,它提供了有序存储一组元素的接口。具体来说,List接口有以下常用方法:

方法名 | 描述 :-: | :-: void add(int index, E element) | 在指定位置插入元素 boolean addAll(Collection<? extends E> c) | 将集合所有元素加入List尾部 boolean contains(Object o) | 判断List是否包含某个元素 void clear() | 清空List中所有元素 E get(int index) | 根据索引获取List中的元素 boolean isEmpty() | 判断List是否为空 int indexOf(Object o) | 返回List中指定元素第一次出现的索引 boolean remove(Object o) | 移除List中指定元素 E remove(int index) | 移除List中指定索引位置的元素 int size() | 返回List中元素个数

Map接口

Map是Java.util包中的另一个核心接口,它提供了一种映射关系,将键映射到值上。Map的常用方法如下表所示:

方法名 | 描述 :-: | :-: void clear() | 清空Map中所有元素 boolean containsKey(Object key) | 判断Map中是否包含指定键 boolean containsValue(Object value) | 判断Map中是否包含指定值 V get(Object key) | 根据键返回对应的值 boolean isEmpty() | 判断Map是否为空 Set keySet() | 返回Map中所有键组成的Set集合 V put(K key, V value) | 增加或修改Map中的键值对 void putAll(Map<? extends K,? extends V> m) | 将另一个Map中所有键值对加入到当前Map中 V remove(Object key) | 删除Map中指定的键值对 int size() | 返回Map中键值对数量 Collection values() | 返回Map中所有值组成的Collection集合

Set接口

Set是Java.util包中提供的另一种基本集合类型,它是一种无序存储一组不重复元素的接口。Set的常用方法如下:

方法名 | 描述 :-: | :-: boolean add(E e) | 将指定元素加入Set中 void clear() | 清空Set中所有元素 boolean contains(Object o) | 判断Set中是否包含某个元素 boolean isEmpty() | 判断Set是否为空 Iterator iterator() | 返回Set中元素的迭代器 boolean remove(Object o) | 移除Set中指定元素 int size() | 返回Set中元素个数

示例代码

首先,我们来看一个使用List接口的例子,找到一个List中的最小值:

import java.util.*;

public class MinInList {
    public static void main(String[] args) {
        List<Integer> nums = Arrays.asList(2, 6, 1, 5, 7);
        Integer min = Collections.min(nums);
        System.out.println("Min in List: " + min);
    }
}

上述代码中,我们使用了Arrays类的asList方法来将一组整型数转为List类型。然后,我们使用Collections类的min方法找到List中最小值,并输出结果。

接下来,我们来看一个使用Map接口的例子,统计一句话中各单词的出现次数:

import java.util.*;

public class CountWords {
    public static void main(String[] args) {
        String sentence = "Java is a popular programming language.";
        String[] words = sentence.toLowerCase().split(" ");
        Map<String, Integer> wordCount = new HashMap<>();
        for (String word : words) {
            if (wordCount.containsKey(word)) {
                wordCount.put(word, wordCount.get(word) + 1);
            } else {
                wordCount.put(word, 1);
            }
        }
        System.out.println(wordCount);
    }
}

上述代码中,我们首先将一句话转为一个字符串数组,然后使用HashMap来存储每个单词出现的次数。最后,我们输出HashMap的结果,可以看到各单词出现的次数。

最后,我们来看一个使用Set接口的例子,生成10个随机数:

import java.util.*;

public class RandomNumberGenerator {
    public static void main(String[] args) {
        Set<Integer> nums = new HashSet<>();
        Random rand = new Random();
        while (nums.size() < 10) {
            nums.add(rand.nextInt(100) + 1);
        }
        System.out.println("Random numbers: " + nums);
    }
}

上述代码中,我们使用了HashSet来存储生成的随机数。注意,我们使用了Random类来生成随机数,nextInt方法返回的随机数范围是0至参数值之间的整数,因此我们需要加1来保证生成的随机数不为0。

总结

Java.util包是Java语言中提供的最常用的包之一,里面包含了许多常用的工具类和接口。本文讨论了常用的List、Map和Set接口及其方法,同时给出了一些有趣的用例,希望对Java程序员有所帮助。