java中的comparable、comparator返回负、正、零

java中的comparable、comparator返回负、正、零,java,collections,Java,Collections,我需要知道compareTo(…)方法在内部是如何工作的。它会根据结果交换值吗 Condition: 1. If obj1 is less than object2 will return negative. 2. If obj1 is greater than object2 will return positive. 3. If obj1 is equal to object2 will return zero. compareTo(…)方法如何根据条件在内部工作 @Override p

我需要知道
compareTo(…)
方法在内部是如何工作的。它会根据结果交换值吗

Condition:

1. If obj1 is less than object2 will return negative.
2. If obj1 is greater than object2 will return positive.
3. If obj1 is equal to object2 will return zero.
compareTo(…)
方法如何根据条件在内部工作

@Override
public int compareTo(DVDInfo o) {       
    return title.compareTo(o.title); // for title sort      
}

检查
字符串。compareTo()
。如果您的语言环境不是英语,那么最好使用
java.text.Collator
进行字符串比较。

方法
compareTo
将两个对象相互比较,并返回一个指示两个对象顺序的值

String s1 = "abc";
String s2 = "bcd";
s1.compareTo(s2); // returns negative value
s2.compareTo(s1); // returns positive value
没有对象交换或类似的事情,返回的值只是元素顺序的指示。在字符串上,此顺序按字母顺序排列(即“abc”按字母顺序排在“bcd”之前)


如果需要对字符串集合进行排序,请使用
Collections.sort()
。此方法将使用字符串
compareTo
方法来确定元素的顺序。

否,否,其他内容将交换值!例如,当您调用
Arrays.sort
时,
Arrays.sort
中的代码执行它使用的任何排序算法所需的所有交换。
compareTo
方法只是告诉它如何决定是否需要交换东西。根据
compareTo
是返回负、零还是正;
sort
方法计算如何对数组的元素重新排序。当然,要做到这一点,它会多次调用
compareTo

您所说的“交换值”是什么意思?是的。你说得对。你的问题是什么?你在问String.java中compareTo方法是如何工作的?Ingo:假设我在ArrayList中添加了多个DVDInfo ArrayList=new ArrayList();我使用了Collections.sort(arrayList)。当我迭代arrayList时,标题会被排序。那么compareTo方法在内部是如何工作的呢