私はJava Swingの経験が少なく、各要素に2つのパラメーターを指定する必要がある動的リストを作成したいと考えています。
n個の要素があり、nの数は不明で、他の手順に依存しています...
n 個の要素に対して、swing GUI に n 行が表示され、左側の各行にはパラメータ String id と int time を設定するための 2 つのボックスが表示されます。
データ値ごとに 1 つずつ、2 つの列を持つJTableを使用するのはどうでしょうか。
テーブルの使用に関する優れたチュートリアルがhttp://docs.oracle.com/javase/tutorial/uiswing/components/table.htmlにあります。
ArrayList を使用すると、次のことができます。
import java.util.ArrayList;
public class ArrayList2d<Type>
{
ArrayList<ArrayList<Type>> array;
public ArrayList2d()
{
array = new ArrayList<ArrayList<Type>>();
}
public void ensureCapacity(int num)
{
array.ensureCapacity(num);
}
public void ensureCapacity(int row, int num)
{
ensureCapacity(row);
while (row < getNumRows())
{
array.add(new ArrayList<Type>());
}
array.get(row).ensureCapacity(num);
}
public void Add(Type data, int row)
{
ensureCapacity(row);
while(row >= getNumRows())
{
array.add(new ArrayList<Type>());
}
array.get(row).add(data);
}
public Type get(int row, int col)
{
return array.get(row).get(col);
}
public void set(int row, int col, Type data)
{
array.get(row).set(col,data);
}
public void remove(int row, int col)
{
array.get(row).remove(col);
}
public boolean contains(Type data)
{
for (int i = 0; i < array.size(); i++)
{
if (array.get(i).contains(data))
{
return true;
}
}
return false;
}
public int getNumRows()
{
return array.size();
}
public int getNumCols(int row)
{
return array.get(row).size();
}
}