C#
String a = "宜春"; String b = new String(new char[] { '宜', '春' }); String c = b; //注意这里是引用传递,意思是c也指向b指向的内存地址 bool r1 = a == b; //true bool r2 = a == c; //true bool r3 = b == c; //true bool r4 = a.Equals(b); //true bool r5 = a.Equals(c); //true bool r6 = b.Equals(c); //true
java
String a = "宜春"; String b = new String("宜春"); String c = b; //注意这里是引用传递,意思是c也指向b指向的内存地址 System.out.println(a == b); //false System.out.println(a == c); //false System.out.println(b == c); //true System.out.println(a.equals(b)); //true System.out.println(a.equals(c)); //true System.out.println(b.equals(c)); //true
Java中的集合(Collection)有三类,一类是List,一类是Queue,再有一类就是Set。 前两个集合内的元素是有序的,元素可以重复;最后一个集合内的元素无序,但元素不可重复。
散列存储,采用了分离链接法(separatechaining)
这里需要区分一下,JDK1.7和 JDK1.8之后的 HashMap 存储结构。在JDK1.7及之前,是用数组加链表的方式存储的。