データベースのレコードを格納する2次元配列を作成したいと思います。したがって、最初のタイプがタイプint
で、2番目のタイプがタイプであるとしましょうString
(ここでは、1つのレコードのみを記述しているため、基本的にdb列のタイプです)。どうすればいいですか?配列はそのための正しいデータ構造ですか?
5 に答える
フォローしているのかわかりませんが、探している可能性がありますMap<Integer,String>
。またはMap<Integer,List<String>>
。[リストとHashMapを見てください]
Map
キー[ Integer
]を値[String
またはList
]に関連付けることができます。
Map
また、キーとそれに付随する値をすばやく検索できます。
(*)1つ以上をアタッチする場合は使用する必要がありますMap<Integer,List<String>>
。または、apachecommonsを使用することもできます。String
Integer
MultiMap
配列に含めることができるタイプは1つだけです。そのタイプがたまたまそうであれば、Object
それはそのサブタイプのいずれかを保存できObject
ますが、それはあなたがここで達成しようとしていることのようには聞こえません。
あなたが説明しているのは、データベース情報を格納する2D配列のように聞こえます。配列内の各要素は、行の1つの列です。これはレコードの配列ではなく、列データの配列です。
代わりに、レコードの1次元配列を格納するだけです。ここで、配列の各要素はDB行全体への参照です。
あなたはこれの助けを借りて同じことをすることができます
Object[][] o = new Object[10][10];
o[0][0] = 1;
o[0][1] ="hello";
System.out.println(o[0][0]);
System.out.println(o[0][1]);
使用できます
HashMap<Integer, ArrayList<String>>
文字列データの1つの列とintデータの別の列が必要な場合は、次のことを検討できます。
2次元の文字列配列を宣言します
String[][] words = new String[][];
最初の列には、すべての文字列データを含めることができます。2番目の列には数値データを含めることができますが、文字列の形式です。これを行うには、Integer.toString()メソッドとInteger.parseInt()メソッドを使用することをお勧めします
words[index][index] = Integer.toString(Integer.parseInt(args));
正確に何を達成したいかはわかりませんが、ニーズに合わせてこのスニペットを変更することを検討してください。