19 java arrays string-matching
我正在基于Java中的字符串处理创建一个程序,我需要从字符串数组中删除重复的字符串.在此程序中,所有字符串的大小都相同.
作为字符串数组的'array'包含许多字符串,其中两个字符串彼此相似.因此,使用下面的代码必须删除重复的字符串,但不会删除它.
如何删除重复的字符串?
我使用以下代码.
for(int s=0;s<array.length-1;s++)
{
for(int m=0;m<array.length;m++)
{
for(int n=0;n<array[m].length();n++)
{
if(array[s].charAt(n)==array[m].charAt(n))
{
continue;
}
else
break;
}
if(n==array[m].length())
{
ArrayUtils.removeElement(array, array[s]);
}
}
Run Code Online (Sandbox Code Playgroud)
Gar*_*all 35
这会奏效
array = new HashSet<String>(Arrays.asList(array)).toArray(new String[0]);
Run Code Online (Sandbox Code Playgroud)
或者只使用一个HashSet
而不是一个数组.
建议的解决方案不保持元素的顺序。如果您使用 Java 8 或更高版本并希望保持顺序,您可以按如下方式使用流:
array = Arrays.stream(array).distinct().toArray(String[]::new);
Run Code Online (Sandbox Code Playgroud)
完整示例:https : //www.javacodeexamples.com/java-string-array-remove-duplicates-example/849
归档时间: |
|
查看次数: |
65163 次 |
最近记录: |