java - 如何比较java中的2条语句

标签 java arrays string arraylist

是否可以像这样比较 2 个字符串。

String test1 = "foo bar abc";
String test2 = "bar abc foo";

在 java 中通常不是字符串 equals

我正在考虑通过按空格拆分字符串并进行比较来使用 ArrayListarray

还有其他方法吗? 哪个更好?

我想回答 foo bar abcbar abc foo 是一样的。我想知道两者是否出现相同的词。

最佳答案

如果您的字符串表示单词集(即没有重复的集合),自然的解决方案是使用 Sets :

    String test1 = "foo bar abc";
    String test2 = "bar abc foo";

    HashSet<String> set1 = new HashSet<>(Arrays.asList(test1.split(" ")));
    HashSet<String> set2 = new HashSet<>(Arrays.asList(test2.split(" ")));

    System.out.println(set1.equals(set2));

关于java - 如何比较java中的2条语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41102365/

相关文章:

java - 嵌入式 Jetty 处理 URL 来提供内容

java - 树状图忽略了我对 equals 函数的覆盖

java - 交替打印两个数组

ios - 转换到 UIImage 的 PFFile 数组在 for 循环之外为空

java - String 说它不为 null,但随后抛出 NullPointerException

javascript - 多个 OR 字符串

java - 如何在 Swing 中将键绑定(bind)设置为可编辑 JTable?

java - 无法在 libgdx 中加载渐进式 jpeg 图像

javascript - 多次读取数组会出现错误javascript

c++ - 提供给 std::stringstream 并同时将其作为参数传递给函数 c++