java - 在 Java 中使用 List 和 LinkedHashSet 从字符串中删除重复值后如何获取 Arraylist<String>

标签 java string list arraylist linkedhashset

这是家庭作业的一部分,即搜索引擎。我正在尝试创建一个类,从字符串输入中删除重复值(输入将从用户处获取,现在使用随机字符串进行测试)并将标记/单词存储到 ArrayList 中,以将它们与停用词的 String[] 进行比较(要删除的单词)。我使用 List 和 LinkedHashSet 是因为我想保留单词的顺序并删除重复项。它确实删除了重复的单词并保留了顺序,但我无法让它将单词存储到 ArrayList 中,有什么想法吗?

import java.util.Arrays;
import java.util.List;
import java.util.LinkedHashSet;
import java.util.Set;

public class RemoveDuplicateWord {

    public static void main(String[] args) {
        String str = "the search engine that could search";
        removeDupWord(str);
    }

    public static void removeDupWord(String str) {
        List<String> list = Arrays.asList(str.split(" "));
        Set<String> lhs = new LinkedHashSet<String>(list);

        for(String s : lhs) {
            System.out.print(s+" ");
        }
    }
}

最佳答案

public static void removeDupWords(String str) {
      List<String> list = Arrays.asList(str.split(" "));
      Set<String> check = new HashSet<String>();
      String output = "";
      for(int i =0; i< list.size(); i++) {
          if(!check.contains(list.get(i)))
              output = output.concat(list.get(i) + " ");
          check.add(list.get(i));
      }
     System.out.println(output);
}

关于java - 在 Java 中使用 List 和 LinkedHashSet 从字符串中删除重复值后如何获取 Arraylist<String>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41091216/

相关文章:

java - 插入枚举值时如何修复 "Can' t 推断用于枚举实例的 SQL 类型”错误?

java - 我可以将 jars 添加到 Maven 2 构建类路径而不安装它们吗?

Php 在特定字符处修剪字符串

python - 对于 Python,如何对固定大小的列表中的元素进行排序和合并

python - 通过 python 将列表列表写入 COLUMNED .txt 文件

java - Gradle 发布构建 - 保留方法参数名称

Java合并具有延迟和重叠的音频文件

ruby - 尝试分割字符串(ruby)

python - 更新 python 时避免将 SAME 字符串写入文本文件

list - 并行For循环-添加到列表时出现问题