Wenn ich ein Array von Zeichenfolgen haben, zum Beispiel String[] myS = new String[] {"1234", "abcd", "234", "bcd", "34", "cd"}
, wird die Arbeit daran arbeiten? Ich nahm an, dass die Sortierung nach Strings es alphabetisch sortieren würde, aber wenn ja, würde es brechen, wenn es eine Zeichenkette mit numerischen Ziffern sieht?Arrays.sort auf Strings
Hier ist meine Funktion
public static String[] inArray(String[] array1, String[] array2) {
if(array1.length == 0 || array2.length == 0) return new String[]{};
int size=0, index = 0;
Boolean flag = false;
for(int i=0; i<array1.length; i++){
flag = false;
for(int j=0; j<array2.length; j++){
if(array2[j].contains(array1[i])){
flag = true;
break;
}
}
if(flag == false) array1[i] = "";
else size++;
}
if(size == 0) return new String[] {}; //No matches found
String[] sortedArr = new String[size];
for(int i = 0; i<size; i++){
if(array1[i] != ""){
sortedArr[index] = array1[i];
index++;
}
}
Arrays.sort(sortedArr); //Occasionally throws null pointer exception
return sortedArr;
}
Haben Sie es versucht? –
Es wird lexikographisch sortiert, so dass Zahlen vor den Buchstaben geordnet werden. – khelwood
Ja. Ich bekomme eine Null-Zeiger-Ausnahme, bin mir aber nicht sicher, ob dies damit zusammenhängt, dass die Sortierung wegen numerischer Werte unterbrochen wird oder nicht. – Noobgineer