打印不同的元素和原始元素列表

时间:2017-05-22 00:21:26

标签: java

我想打印所有独特元素并打印原始列表,但它只打印出不同的元素,帮助我继承我的代码......

 static ArrayList<String> removeDuplicates(ArrayList<String> list) {

        // Store unique items in result.
        ArrayList<String> result = new ArrayList<>();

        // Record encountered Strings in HashSet.
        HashSet<String> set = new HashSet<>();

        // Loop over argument list.
        for (String item : list) {

            // If String is not in set, add it to the list and the set.
            if (!set.contains(item)) {
                result.add(item);
                set.add(item);
            }
        }
        return result;
    }
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
         ArrayList<String> words = new ArrayList<String>();
        words.add("full");
        words.add("fill");
        words.add("full");
         words.add("fall");
          words.add("fill");
           words.add("fell");
            words.add("fall");
              ArrayList<String> unique = removeDuplicates(words);
        for (String element : unique) {

            System.out.print("\t" +element);

    }


}
}

输出必须是:

列表中的元素[完整,填充,填充,填充,掉落,填充,掉落,掉落]

区分元素[满,填,跌,跌]

4 个答案:

答案 0 :(得分:1)

通过测试( if ! set.contains(item) )来消除重复项 所以你会得到这个结果:

full , fill , fall , fell

Example result

如果你想得到结果:

full,fill,fill,full,fall,fill,fell,fall

你不应该测试( ! set.conaitns(item) )

答案 1 :(得分:0)

嗯,当然它没有打印原始列表。你没有写任何代码来做到这一点。

答案 2 :(得分:0)

使用Java 8,您可以使用Stream API为您完成。

我相信这可以简单地完成:

list.stream().distinct().collect(Collectors.toList());

答案 3 :(得分:-1)

公共类UniqueArrayList {

公共静态无效的主要(字串[] args){

列表initialList = Arrays.asList( “易趣”, “贝宝”, “谷歌”, “易趣”, “谷歌”, “贝宝”);

System.out.printf(“\ nInitial list:%s%n”,initialList);

sortlist中(initialList);

}

公共静态无效sortlist中(列表myList中){

设置hashsetList = newHashSet(myList中);

System.out.printf(“\ n使用HashSet的唯一值:%s%n”,hashsetList);

}

}

输出如下: -

初​​始列表:[易趣,贝宝,谷歌,易趣,谷歌,贝宝]

使用HashSet的唯一值:[谷歌,贝宝,易趣]