たとえば、変数var1、var2、var3、....がたくさんある場合、インデックスiを使用してそれらを簡単に操作するにはどうすればよいですか
for(int i=1,i<n;++i)
System.out.print(vari);
私はそれが正しくないことを知っていますが、この方法で変数を操作する可能性があるかどうか知りたいです
たとえば、変数var1、var2、var3、....がたくさんある場合、インデックスiを使用してそれらを簡単に操作するにはどうすればよいですか
for(int i=1,i<n;++i)
System.out.print(vari);
私はそれが正しくないことを知っていますが、この方法で変数を操作する可能性があるかどうか知りたいです
それらを List または array YourClass[] に追加し、次のように繰り返し処理します。
List<Cat> catsList = new ArrayList<>();
Cat[] catsArray = new Cat[3]; //alternatively
public CatHouse(){
Cat bob = new Cat();
Cat fluffy = new Cat();
Cat tom = new Cat();
catsList.add(bob);
catsList.add(fluffy);
catsList.add(tom);
//alternatively
catsArray[0] = bob;
catsArray[1] = fluffy;
catsArray[2] = tom;
}
次に、list\array を反復処理して何かを行います。
public void groomAll(){
for (Cat cat : catList){
cat.groom();
}
//alternatively
for (Cat cat : catArray){
cat.groom();
}
}
コレクションを使用しない理由はありますか? たとえば、配列、リスト、さらにはマップです。
私の答えは、これらの構造のいずれかを使用することです。それ以外の場合、より簡単な方法があるとは思いません。
私が思いつくことができる最も近いものはこれです:
Map<String, Object> map = new HashMap<>();
for(int i=1; i<map.size(); i++) {
System.out.println(map.get("var"+i));
}