我想知道如果其他字符串相同,即如果我在我的数组中,Java中是否有函数从字符串数组中检索一个字符串: 是的,是的,是的,是的,不,不,不,不。我想只得到一个是和一个没有显示出来! 而不是通过使用for循环和比较! ,我想知道Java中是否存在此函数。
答案 0 :(得分:4)
将所有这些插入到Set中。然后你会得到那样的
String[] array = {"yes","yes","yes","yes","no","no","no","no"};
Set<String> mySet = new HashSet<String>(Arrays.asList(array));
设置不允许重复。
最后,该集合包含yes
和no
(仅2个元素)
答案 1 :(得分:2)
如果这是你的阵列
String[] a = {"yes","yes","yes","yes","no","no","no","no"};
然后这将显示唯一值
System.out.println(new HashSet(Arrays.asList(a)));
答案 2 :(得分:1)
将数组转储到集合中并使用:
Set uniqueStrings = new HashSet(Arrays.asList(yourArray));
如果你再次需要它作为数组,你可以使用
String[] uniqueStringsArray = uniqueStrings.toArray(new String[uniqueStrings.size()]);
在内部,它遍历数组并比较字符串。你无法避免这种情况。
答案 3 :(得分:1)
尝试这样的事情
String[] arr=new String[]{"yes","yes","yes","yes","no","no","no","no"};
Object[] unique = new HashSet<>(Arrays.asList(arr)).toArray();
System.out.println(unique[0]);
System.out.println(unique[1]);