如果另一个是相同的,如何从字符串数组中只获取一个项目

时间:2013-07-18 10:46:39

标签: java

我想知道如果其他字符串相同,即如果我在我的数组中,Java中是否有函数从字符串数组中检索一个字符串: 是的,是的,是的,是的,不,不,不,不。我想只得到一个是和一个没有显示出来! 而不是通过使用for循环和比较! ,我想知道Java中是否存在此函数。

4 个答案:

答案 0 :(得分:4)

将所有这些插入到Set中。然后你会得到那样的

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

设置不允许重复。

最后,该集合包含yesno(仅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]);