私の問題について説明しましょう。JAVAのクラスのリストから特定のフィールドをコピーする方法は?
私はPersonクラスにmPeople Listに格納されています。 これは、mPeopleが「名前」と「年齢」の両方を格納することを意味します。 しかし、特定の状況では、私はすべての人の名前のリストと、異なるリストのすべての人の年齢のリストが必要です。
リスト内のクラスの特定のフィールドにあるすべてのデータを別のリストまたは別の場所にコピーする方法はありますか?
注:私はforループまたはこれを行うループを強化することができますが、これではあまりうまく見えません。だから誰かがもっと良い解決策を見つけたのかどうか不思議に思うだけです...そして、私はあなたの助けに感謝します!
public class Person
{
// fields
private int age;
private String name;
// constructor
public Person(int age, String name)
{
this.age = age;
this.name = name;
}
// getter
public int getAge()
{
return age;
}
public String getName()
{
return name;
}
}
//list of People
List<Person> mPeople = new ArrayList<>();
mPeople.add(new Person(10, "Sovanara"));
mPeople.add(new Person(20, "Dara"));
。ちなみに、あなたはforeachの副作用について言及しています。それは、多くのパスや多くの操作時間ではなく、1回のパスを使用するほうがよいでしょうか?私はちょうど確かめる1つです。 – jujuzi
それは異なります。私は個人的に2つのパスを理解して従うことが容易であることがわかります。ただし、1回のパスで効率的です。あなたが人の小さなリストを持っている場合、それは本当に多くの違いを作りません、あなたがする必要がある場合のみ最適化します。私は、それが重要ではない場合、少しのパフォーマンスを犠牲にしてコードを読みやすくするという面で間違っている傾向があります。 – Todd
私はそれをチェックアウトし、.toList()を使ってリストに変換する必要がないことを知りました。コトリンのように思えます..そして最後に、素晴らしい解決策と助言に感謝します。 – jujuzi