今天做百练上面的一道题时,发现以下问题:
import java.util.Iterator; import java.util.LinkedList; import java.util.TreeSet; import java.util.regex.Matcher; import java.util.regex.Pattern; public class Test { /** * @param args */ public static void main(String[] args) { LinkedList<Integer> l = new LinkedList<Integer>(); l.add(1); l.add(93); LinkedList<Integer> l2 = new LinkedList<Integer>(); l2.add(3); l2.add(31); System.out.println(l.hashCode()+";"+l2.hashCode()); Node node1 = new Node(); node1.set.add(5); node1.set.add(18); Node node2 = new Node(); node2.set.add(5); node2.set.add(18); Node node3 = new Node(); node3.set.add(2); node3.set.add(18); Node node4 = new Node(); node4.set.add(2); node4.set.add(21); TreeSet<Node> s = new TreeSet<Node>(); System.out.println(s.add(node1)); System.out.println(s.add(node2)); System.out.println(s.add(node3)); System.out.println(s.add(node4)); System.out.println(s.add(node1)); Iterator<Node> iter = s.iterator(); while (iter.hasNext()) { System.out.println(iter.next().set); } } private static class Node implements Comparable<Node> { LinkedList<Integer> set = new LinkedList<Integer>(); int number; @Override public int compareTo(Node o) { return o.set.equals(set) ? 0 : -1; } } } 输出结果为: 1085;1085 true false true true true [5, 18] [2, 21] [2, 18] [5, 18]
谁能帮我解释下啊?