基本的に次のようなリストのリストを作成できます。
List<List<String>> table = new ArrayList<List<String>>();
次に、26 列を追加します。
for(int i = 0; i < 26; i++)
{
table.add(new ArrayList<String>());
}
addToColumn(int column, String value, List<List<String>> table)
次に、次のようなことを行うメソッドを呼び出すことができます。
for(int i = 0; i < table.size(); i++)
{
if(i == column)
{
table.get(i).add(value);
}
else
{
table.get(i).add("");
}
}
これにより、一緒に成長するリストを持つことができます。もちろん、上記の私の仮定は、一度に 1 つの要素を入力するということです。
または、次のようにすることもできます。
public void addToColumns(Map<int, String> data, List<List<String>> table)
{
for(int key : data.keyset())
{
table.get(key).add(data.get(key));
}
for(int i = 0; i < table.size(); i++)
{
if(!data.containsKey(i))
{
table.get(i).add("");
}
}
}
上記のアルゴリズムでは、項目を複数の列に追加し、残りを空の文字列で埋めることができます。これにより、最終的に同じ長さの行になるはずです。また、マップは、キーが列番号であるキーと値のペアを格納するために使用され、値はそこにスローしたい任意の文字列になります。これにより、一度に 1 行ずつテーブルに入力できます。