如何在 Java 中将列表转换为集合? ArrayList 到 HashSet 示例
在 Java 中将 ArrayList
转换为 Set 意味着从充满对象的 ArrayList 创建一个类似于 HashSet
的 Set 实现。 在将 ArrayList 转换为 HashSet 之前,请记住 List 保持插入顺序并保证相同,但 Set 没有这样的义务。 此外,List 允许重复但 Set 不允许任何重复,这意味着如果我们的 ArrayList 中有重复项,当我们将 ArrayList 转换为 HashSet 时它们将丢失,这就是 ArrayList 有时大小与转换后的 HashSet大小不匹配的原因 。
将 ArrayList 转换为 Set 与将 Map 转换为 List 完全不同,但有一个共同点,即采用集合对象的构造函数。 HashSet 还有一个构造函数,它接受另一个集合对象,例如 ArrayList 并从这些元素中创建 Set。
我们还在 Java 中的 10 个 ArrayList 示例中看到了一点,我们将在此处详细介绍。
如何将列表转换为 Java 中的集合? 循序渐进的例子
现在,让我们看看将 List 转换为 Set 的几种方法,例如 Java 中的 HashSet :
1. ArrayList to Set转换示例
将 ArrayList 或任何其他 List 实现转换为 HashSet 或任何其他 Set 实现并不难编写。 在本篇文章中,我们将看到在 Java 中将 ArrayList 转换为 HashSet 的完整代码示例:
package test;
import java.util.ArrayList;
import java.util.HashSet;
public class ArrayListToSetConverter {
public static void main(String args[]){
//创建 ArrayList 以转换为 HashSet
ArrayList companies = new ArrayList();
companies.add("Sony");
companies.add("Samsung");
companies.add("Microsoft");
companies.add("Intel");
companies.add("Sony");
System.out.println("Size of ArrayList before Converstion: " + companies.size());
System.out.println(companies);
//在 Java 中将 ArrayList 转换为 HashSet
HashSet companySet = new HashSet(companies);
System.out.println("Size of HashSet after Converstion: " + companies.size());
System.out.println(companySet);
}
}
你可能已经注意到,转化的 ArrayList 和 HashSet 的 Size 不一样,比原来的 ArrayList
小 1,因为重复条目“Sony”在 Set 中只有一次。
这是从 ArrayList 中删除重复项的另一种好方法。 只需将 ArrayList 的条目复制到 Set 中,然后将其复制回 ArrayList 中,我们就不再有重复项了。
这就是在 Java 中将 ArrayList 转换为 HashSet 的快速方法。 我们可以查看 ArrayList 和 Vector 之间的区别 来了解有关 ArrayList 和其他 Collection 类的更多信息。 还可以使用此技巧在 Java 中将一个集合转换为另一个集合。 只要该类实现了 Collection
接口,就可以在 Java 中使用复制构造函数将元素从一个 Collection
复制到另一个,并将一个集合转换为另一个。
相关文章
在 Java 中获取文件大小
发布时间:2023/05/01 浏览次数:139 分类:Java
-
Java 提供了不同的方法来获取文件的字节大小。 本教程演示了在 Java 中获取文件大小的不同方法。使用 Java IO 的文件类获取文件大小 Java IO 包的 File 类提供了以字节为单位获取文件大小的功能。
Java 中的文件分隔符
发布时间:2023/05/01 浏览次数:108 分类:Java
-
本篇文章介绍了 Java 中的文件分隔符。Java 中的文件分隔符 文件分隔符是用来分隔目录的字符; 例如,Unix 使用 /,Windows 使用 \ 作为文件分隔符。
Java 中的文件过滤器
发布时间:2023/05/01 浏览次数:193 分类:Java
-
本篇文章介绍如何在 Java 中使用 FileFilter。FileFilter 用于过滤具有特定扩展名的文件。 Java内置包IO和Apache Commons IO为FileFilter提供了类和接口来进行文件过滤操作。
Java 获取 ISO 8601 格式的当前时间戳
发布时间:2023/05/01 浏览次数:132 分类:Java
-
本篇文章介绍了 ISO 8601 日期格式、其重要性及其在 Java 中的使用。 它还列出了一些优点来强调为什么应该使用 ISO 格式来表示日期。
在 Java 中获取数组的子集
发布时间:2023/05/01 浏览次数:142 分类:Java
-
本篇文章介绍了几种在 Java 中获取数组子集的方法。使用 Arrays.copyOf() 方法获取数组的子集 使用 Arrays.copyOfRange() 方法获取数组的子集
用 Java 填充二维数组
发布时间:2023/05/01 浏览次数:110 分类:Java
-
二维数组是基于表结构的,即行和列,填充二维数组不能通过简单的添加到数组操作来完成。 本篇文章介绍如何在 Java 中填充二维数组。
计算 Java 数组中的重复元素
发布时间:2023/05/01 浏览次数:202 分类:Java
-
本篇文章介绍Java计算数组中重复元素的方法。计算 Java 数组中的重复元素。我们可以创建一个程序来计算数组中的重复元素。 该数组可以是未排序的,也可以是已排序的。
Java 中 List 和 Arraylist 的区别
发布时间:2023/05/01 浏览次数:90 分类:Java
-
表示为单个单元的一组单个对象称为集合。 在 Java 中,Collection 是一个具有多个已定义接口和类的框架,用于将一组对象表示为一个单元。 它允许我们操纵