-> Wie kann ich „Effizienz des Entfernens ein Zeichen aus einer Zeichenkette“ in dem folgenden Code verbessern:verbessern efficiencey ein Zeichen aus einer Zeichenfolge in Java entfernen
import java.util.Scanner;
public class StringPractice {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("Enter a String : ");
String str;
str=sc.nextLine();
System.out.println("Enter char to remove : ");
char ch=sc.nextLine().charAt(0);
char[] a=new char[str.length()];
// System.out.println("Parameters : Char : "+ch+" String : "+str+"\n");
StringPractice ob=new StringPractice();
a=ob.removeChar(str,ch);
String str1=new String(a);
System.out.println("New String is : "+str1);
}
char[] removeChar(String a,char c){
char[] ch=new char[a.length()];
byte count=0;
for(int i=0;i<a.length();i++){
if(a.charAt(i)==c){
count++;
continue;
}
ch[i-count]=a.charAt(i);
}
return ch;
}
}
Für mich scheint es ziemlich optimierten Code. Es sollte schneller als Standardmethoden sein. Ist das ein Hotspot in Ihrem Programm? – olsli
wärmen Sie den Code, es kann mehr als 50 Mal schneller ausgeführt werden, ohne es zu ändern, wenn Sie den Code zuerst kompilieren. –
Sie haben einen Fehler, dass der 'char [] ch' nicht kleiner ist, wenn Sie Zeichen daraus entfernen. Ich würde mich zuerst um die Korrektheit und dann um die Geschwindigkeit kümmern. –