- >我怎樣才能提高在下面的代碼「從一個字符串刪除字符的效率」:提高efficiencey從字符串在java中刪除字符
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;
}
}
對我來說,它似乎相當優化的代碼。它應該比標準方法更快。這是你程序中的熱點嗎? – olsli
預熱代碼,如果您先編譯代碼,它可以運行速度提高50+倍,而無需更改代碼。 –
如果您從中刪除字符,您有一個錯誤:char [] ch'不會更小。我會先擔心正確性,然後再加速。 –