如何获得Java中无序字符数组的唯一元素?

问题描述

| 如果我有一个无序的字符数组,如何获得唯一元素?     

解决方法

        单线:
Set<Character> uniqueChars = new HashSet<Character>(Arrays.asList(array));
(the1ѭ必须是
Character[]
而不是
char[]
。否则,您必须将其转换为包装器数组) 请注意,如果这是家庭作业,则需要一种更具算法性的方法来表明您了解自己在做什么。上述解决方案可能不适用。但是这是它的工作方式: 数组变成
List
。这是
O(1)
,因为阵列仅支持新的不可修改的列表。这样做是为了使数组可以符合
List
接口,这是
HashSet
构造函数所要求的
HashSet
是由
HashMap
(哈希表)支持的集合。它计算键的哈希值,并将其存储在index = hash下的内部数组中。因此查找为O(1)。
HashSet
构造函数仅对传递的the4ѭ进行迭代,并为每个项目调用
add(..)
。相同的项目在集合中不允许两次(根据定义,集合不允许重复)。之所以如此,是因为该项目的哈希值与现有哈希值相同,所以新哈希值将替换旧哈希值。请注意,允许使用具有相同散列的项目,但不允许同时使用相同的项目(
.equals(..)
)     

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...