1

我想知道Java中是否有一个函数从字符串数组中检索一个字符串,如果其他字符串相同,即如果我的数组中有:yes,yes,yes,yes,no,no,no,no ..我只想得到一个是和一个否并显示它们!而不是使用 for 循环和比较!,只是我想知道这个函数在Java中是否存在。

4

4 回答 4

4

将所有这些插入一个集合。然后你会得到这样的

String[] array = {"yes","yes","yes","yes","no","no","no","no"};
Set<String> mySet = new HashSet<String>(Arrays.asList(array));

Set 不允许重复。

最后该集合包含yesno(只有 2 个元素)

于 2013-07-18T10:48:54.737 回答
2

如果这是你的数组

String[] a = {"yes","yes","yes","yes","no","no","no","no"};

那么这将显示唯一值

   System.out.println(new HashSet(Arrays.asList(a)));
于 2013-07-18T10:50:26.720 回答
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]);
于 2013-07-18T10:59:30.860 回答
1

将您的数组转储到一个集合中并使用它:

Set uniqueStrings = new HashSet(Arrays.asList(yourArray));

如果您再次需要它作为数组,您可以使用

String[] uniqueStringsArray = uniqueStrings.toArray(new String[uniqueStrings.size()]);

在内部,它遍历数组并比较字符串。你无法避免这一点。

于 2013-07-18T10:55:32.300 回答