我這個里面的contains沒有改寫equals方法,因為List里面的對象是String類,會不會存在問題呢
package collection_map_demon;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Random;
import java.util.Scanner;
public class String_test {
?public List<String> StringList;
?private Scanner console;
?public String_test()
?{
??StringList = new ArrayList<String>();
??
?}
?public void setTest()
?{
??Random random = new Random();
??StringBuffer[] slist = new StringBuffer[10];
??for(int j=0;j<10;j++)
??{
???
???int i = random.nextInt(10)+1;
??? slist[j] = new StringBuffer(i);
???String base = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
???String s;
???do
???{
???for(int k=0;k<i;k++)
???{
????int number = random.nextInt(base.length());
????//slist[j].setCharAt(k,base.charAt(number));
????slist[j].append(base.charAt(number));
???}
???s = slist[j].toString();
???}while(StringList.contains(s));
???StringList.add(s);
??}
??System.out.println("--------------------排序前-------------------------");
??for(String s :StringList)
??{
???System.out.println(s);
??}
??System.out.println("--------------------排序后--------------------------");
??Collections.sort(StringList);
??for(String s : StringList)
??{
???System.out.println(s);
??}
??
?}
?public static void main(String[] args) {
??String_test t = new String_test();
??t.setTest();
?}
}
2015-12-15
不會,String類中的equals方法已經重寫了Object類中的equals方法,比較的是字符串的內容