如何将字符串转换为数组然后在 Java 中对数组进行重复数据删除?
How to cast a String as an Array then dedupe Array in Java?
这个问题的核心重点是使用逗号分隔符和重复条目处理 Java 中的字符串,以便它 returns 一个去重的、逗号分隔的字符串(全部在一行中并使用原生 类)。
A.) 将逗号分隔的字符串转换为数组,
B.) 删除该数组的重复数据,然后将其转换回字符串
C.) 检查新删除的字符串以查看有多少个唯一条目,例如 1 个逗号表示有 2 个 原始唯一条目.
D.) 如果可能的话,以上所有内容必须压缩成一行。 (如果不是,至少A和B是一条线,C线是自己的线。
以下是使用 JavaScript 和 jQuery 对上面概述内容的 reference/picture。这只是轶事。
考虑 jQuery 中的以下代码,将 string
转换为 array
,然后通过首先将其转换为 string
来删除重复数据 array
然后再次将其转换为 array
以利用强大的 $.unique()
jQuery 函数。
var daysProxyArray = "Monday,Monday,Friday,Friday".split(',');
daysProxyArray = $.unique(daysProxyArray.toString().split(','));
console.log(daysProxyArray.toString());
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
有谁知道如何在一行中执行 Java 中的等效操作,最终结果是一个字符串,我可以计算出逗号出现了多少次?这样,如果出现 2 个逗号,我就会知道 3 unique 天在 original string.
中
如果你想计算逗号的数量,下面的代码应该可以做到(在 Java 8+ 中):
String text = "Monday,Monday,Friday,Friday";
long numCommas = text.chars().filter(c -> c == ',').count();
Arrays.stream("Monday,Monday,Friday,Friday".split(","))
.distinct()
.collect(Collectors.joining(","));
要在 Java 中实现您在 JQuery 中所做的事情:
首先需要对字符串进行拆分,得到一个包含拆分元素的字符串数组。
然后,将返回的数组传递给 Set
以仅保留唯一元素。由于 Set
不直接接受数组,因此您首先需要使用 Arrays
class.
的 asList
静态方法
最后,打印 Set
或从 Set
获取数组并打印它。
//Splitting the string
String[] daysProxyArray = "Monday,Monday,Friday,Friday".split(",");
//Using a collection set to only keep the unique elements
Set<String> set = new HashSet(Arrays.asList(daysProxyArray));
//You could either print the set...
System.out.println(set);
//...Or returning the set's elements into an array and use that if you actually need an array
String[] res = new String[0];
res = set.toArray(res);
System.out.println(Arrays.toString(res));
这个问题的核心重点是使用逗号分隔符和重复条目处理 Java 中的字符串,以便它 returns 一个去重的、逗号分隔的字符串(全部在一行中并使用原生 类)。
A.) 将逗号分隔的字符串转换为数组,
B.) 删除该数组的重复数据,然后将其转换回字符串
C.) 检查新删除的字符串以查看有多少个唯一条目,例如 1 个逗号表示有 2 个 原始唯一条目.
D.) 如果可能的话,以上所有内容必须压缩成一行。 (如果不是,至少A和B是一条线,C线是自己的线。
以下是使用 JavaScript 和 jQuery 对上面概述内容的 reference/picture。这只是轶事。
考虑 jQuery 中的以下代码,将 string
转换为 array
,然后通过首先将其转换为 string
来删除重复数据 array
然后再次将其转换为 array
以利用强大的 $.unique()
jQuery 函数。
var daysProxyArray = "Monday,Monday,Friday,Friday".split(',');
daysProxyArray = $.unique(daysProxyArray.toString().split(','));
console.log(daysProxyArray.toString());
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
有谁知道如何在一行中执行 Java 中的等效操作,最终结果是一个字符串,我可以计算出逗号出现了多少次?这样,如果出现 2 个逗号,我就会知道 3 unique 天在 original string.
中如果你想计算逗号的数量,下面的代码应该可以做到(在 Java 8+ 中):
String text = "Monday,Monday,Friday,Friday";
long numCommas = text.chars().filter(c -> c == ',').count();
Arrays.stream("Monday,Monday,Friday,Friday".split(","))
.distinct()
.collect(Collectors.joining(","));
要在 Java 中实现您在 JQuery 中所做的事情:
首先需要对字符串进行拆分,得到一个包含拆分元素的字符串数组。
然后,将返回的数组传递给
的Set
以仅保留唯一元素。由于Set
不直接接受数组,因此您首先需要使用Arrays
class.asList
静态方法最后,打印
Set
或从Set
获取数组并打印它。
//Splitting the string
String[] daysProxyArray = "Monday,Monday,Friday,Friday".split(",");
//Using a collection set to only keep the unique elements
Set<String> set = new HashSet(Arrays.asList(daysProxyArray));
//You could either print the set...
System.out.println(set);
//...Or returning the set's elements into an array and use that if you actually need an array
String[] res = new String[0];
res = set.toArray(res);
System.out.println(Arrays.toString(res));