java - JAVA中模拟二维表的类

标签 java sorting dynamic-arrays

public class table 
{
private int raw=0;
private int column=0;
private List<ArrayList<Integer>> TABLE ;
private static int COUNT_ELEMENTS_IN_RAW=0;
private static int COUNT_ELEMENTS_TOTAL=0;
private List<Integer> singleRaw ;
public table()
{
    TABLE = new ArrayList<ArrayList<Integer>>();
    singleRaw = new ArrayList<Integer>();
}
public void addELEMENT(Integer value)
{   
    if(!TABLE.equals(null))
    {

        singleRaw.addAll(TABLE.get(raw));
        singleRaw.add(value);
        COUNT_ELEMENTS_IN_RAW++;
        if(COUNT_ELEMENTS_IN_RAW%14==0)
        {
            raw++;
            COUNT_ELEMENTS_IN_RAW=0;
            COUNT_ELEMENTS_TOTAL++;
        }
    }
}
}

这里我试图模拟二维表(xy),函数addELEMENT执行插入“表”的操作。 任何人都可以解释我为什么给我这个错误?

Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
at java.util.ArrayList.rangeCheck(Unknown Source)
at java.util.ArrayList.get(Unknown Source)
at pt.iul.poo.games.table.addELEMENT(table.java:27)

最佳答案

你见过 Guava 的集合类型吗?包括? Table ,它支持任何“行”类型和“列”类型的此用例。

Table<Integer, Integer, String> table = HashBasedTable.create();
table.put(0, 0, "A"); // row 0, column 0
table.put(0, 1, "B"); // row 0, column 1

// One element
final String value = table.get(0, 1); // "B"

// Column 0
final Collection<String> strs = table.column(0).values();

// Row 1
final Collection<String> strs = table.row(1).values(); 

关于java - JAVA中模拟二维表的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16676988/

相关文章:

java - 当我按住直到松开然后停止时,如何进行连续工作?

java - 线性搜索在应该返回下标数字时返回未找到

sorting - 如何对带有 map 状闭包的Rust Vector进行排序?

python - 如何使文件中的每一行成为包含整个文件的列表的子列表?

arrays - Ada 动态分配数组中的数组在编译时无法初始化

c++ - 对象数组初始化 (C++)

java - 从 PHP/Java/Python Web 应用程序调用 shell 命令(包括那些需要 root 权限的命令)的正确方法是什么?

java - 什么是类对象(java.lang.Class)?

C++ 动态数据——如何获取它以及如何摆脱它

java - 在eclipse e4中单击最后一个部分(Tab)时动态创建一个部分