在编程中,我有时会遇到这个问题。
假设我有一个数据表格,其中有两列。第一列是字符串,第二列是整数。
我想能够将表格的每一行存储到一个动态数组中。因此,数组的每个元素都需要保存一个字符串和一个整数。
以前,我通过将表格的每一列拆分为两个单独的ArrayList,然后当我想要添加一行时,我会在每个ArrayList上调用一次add()方法来完成这一操作。要删除,则需要在相同索引处同时在每个ArrayList上调用remove(index)方法。
但是,难道没有更好的方法吗? 我知道有像HashMap这样的类,但它们不允许重复的键。我正在寻找允许重复条目的解决方案。
我知道可以像这样做:
ArrayList<Object[]> myArray = new ArrayList<Object[]>();
myArray.add(new Object[]{"string", 123});
我不想每次从数组中取出元素时都要强制转换成字符串和整数,但这可能是唯一的方法,除非我自己创建一个。这看起来更加混乱,我宁愿使用两个ArrayList。
那么有没有像ArrayList这样的Java对象,可以像这样工作:
ArrayList<String, Integer> myArray = new ArrayList<String, Integer>();
myArray.add("string", 123);