私はほぼ600のエントリを持つカスタム配列リストを持っています。Javaの最速の方法で収集した条件に基づいてデータをフィルタリングする
いくつかの条件に基づいて値をフィルタリングする必要があります。私は基本的なループのものを試していますが、その処理に時間がかかっています。私が望むのは、データをフィルタリングする最速の方法です。
public class MyModel {
private boolean attempeted = false;
private String answer;
public MyModel(String answer) {
this.answer = answer;
}
public void setAttempted(boolean attempeted) {
this.attempeted = attempeted;
}
public String getAnswer() {
return answer;
}
public boolean isAttempeted() {
return attempeted;
}
}
は、上記の私が真
しようとした値を持つデータのみを取得する必要がある何をしたい私のモデルです。これは私が持っているものです: ArrayList<TestAnswerModel>myMainArrayList=array which contain all my data
ArrayList<TestAnswerModel>filterArrayList=new ArrayList<>();
for(int i=0;i<myMainArrayList.size();i++)
{
if(myMainArrayList.get(i).isAttempeted()) {
filterArrayList.add(myMainArrayList.get(i))
}
}
上記はうまくいきますが、私のデータが大きすぎると時間がかかります。また、データは600になり、試行された値は2または3の値に対してのみ真となるため、このループは何の結果も起こりません。
データをフィルタリングする最も速い方法を教えてください。
他のコードに問題があると思われます。 600件のエントリーでは本当にすばらしいものになるはずです。あなたは時間ログを入れてループをとっている時間を測定できますか? (*このループだけを取る時間を測定する、あなたのデータフェッチロジックを含まない*) –
は私の上記のmethordですが、最も速い方法ですか? –
これはかなり主観的な質問ですが、私の最初の質問に答えることができますか? –