Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 有没有一种方法可以不考虑对象在一系列逗号中的顺序来比较字符串?_Java_String_String Comparison - Fatal编程技术网

Java 有没有一种方法可以不考虑对象在一系列逗号中的顺序来比较字符串?

Java 有没有一种方法可以不考虑对象在一系列逗号中的顺序来比较字符串?,java,string,string-comparison,Java,String,String Comparison,例如,如果有一个字符串a、b、c、d,如果另一个字符串是b、c、d、a,是否可以将另一个字符串设置为与此相同的字符串?假设您不必担心重复,您可以将两个CSV字符串转换为集合,然后比较: String input1 = "a, b, c, d"; String input2 = "b, c, d, a"; Set<String> set1 = new HashSet<>(Arrays.asList(input1.split("

例如,如果有一个字符串a、b、c、d,如果另一个字符串是b、c、d、a,是否可以将另一个字符串设置为与此相同的字符串?

假设您不必担心重复,您可以将两个CSV字符串转换为集合,然后比较:

String input1 = "a, b, c, d";
String input2 = "b, c, d, a";
Set<String> set1 = new HashSet<>(Arrays.asList(input1.split(",\\s*")));
Set<String> set2 = new HashSet<>(Arrays.asList(input2.split(",\\s*")));

if (set1.equals(set2)) {
    System.out.println("EQUAL");
}
else {
    System.out.println("NOT EQUAL");
}

假设您不必担心重复,您可以将两个CSV字符串转换为集合,然后比较:

String input1 = "a, b, c, d";
String input2 = "b, c, d, a";
Set<String> set1 = new HashSet<>(Arrays.asList(input1.split(",\\s*")));
Set<String> set2 = new HashSet<>(Arrays.asList(input2.split(",\\s*")));

if (set1.equals(set2)) {
    System.out.println("EQUAL");
}
else {
    System.out.println("NOT EQUAL");
}

字符串a、b、c、d与字符串b、c、d、a完全不同。它们永远不能被评价为平等的

但是,您可以解析字符串。并将元素a、b、c和d保存到a中,例如列表或集合。这可能是个不错的选择

(可选)您还可以为集合编写一个


关键是不能按原样计算字符串。必须首先为字符串内容选择适当的数据结构。只有这样,您才能计算和比较从字符串解析的值。

字符串a、b、c、d与字符串b、c、d、a完全不同。它们永远不能被评价为平等的

但是,您可以解析字符串。并将元素a、b、c和d保存到a中,例如列表或集合。这可能是个不错的选择

(可选)您还可以为集合编写一个


关键是不能按原样计算字符串。必须首先为字符串内容选择适当的数据结构。只有这样,您才能计算和比较从字符串解析的值。

您可以对这两个字符串字符进行排序并进行检查equal@Eklavya:+1:你是对的。但是如果OP不小心,逗号和空格可能会有问题。@paulsm4是的,你是对的,然后,更好的方法是通过逗号删除空格和@Eklavya进行拆分:?@paulsm4不完全相同,比较列表未设置。在我之前的评论中看到链接问题的答案。您可以对字符串进行排序并检查equal@Eklavya:+1:你是对的。但是如果OP不小心,逗号和空格可能会有问题。@paulsm4是的,你是对的,然后,更好的方法是通过逗号删除空格和@Eklavya进行拆分:?@paulsm4不完全相同,比较列表未设置。请参阅我之前评论中链接问题的答案