プレースホルダーがどこにあるのと同じパターンにjava.util.Set<String>
従う"200Y2Z", "20012Y", "200829", "200T2K"
とします。Javaでそのような文字列から一意のコードだけのセットを取得する最も効率的な方法はどれですか?"200$2$"
"$"
入力:java.util.Set<String>
の"200Y2Z", "20012Y", "200829", "200T2K"
期待される出力:java.util.Set<String>
の"YZ", "1Y", "89", "TK"
私の試み::
public static void getOutPut()
{
Set<String> input = new HashSet<String>();
Set<String> output = new HashSet<String>();
StringBuffer out = null;
for(String in : input)
{
out = new StringBuffer();
StringCharacterIterator sci = new StringCharacterIterator(in);
while (sci.current( ) != StringCharacterIterator.DONE){
if (sci.current( ) == '$')
{
out.append(in.charAt(sci.getIndex()));
}
sci.next( );
}
output.add(out.toString());
}
System.out.println(output);
}
正常に動作していますが、これを達成するための効率的な方法はありますか? 1000Kを超えるコードに対してそれを行う必要があります。