fix removeColumn()

This commit is contained in:
Ben Fry
2013-02-06 20:22:37 -05:00
parent da64d9956f
commit 40a4f59aac

View File

@@ -1057,10 +1057,34 @@ public class Table {
public void removeColumn(int column) {
Object[] temp = new Object[columns.length + 1];
System.arraycopy(columns, 0, temp, 0, column);
System.arraycopy(columns, column+1, temp, column, (columns.length - column) + 1);
columns = temp;
int newCount = columns.length - 1;
Object[] columnsTemp = new Object[newCount];
HashMapBlows[] catTemp = new HashMapBlows[newCount];
for (int i = 0; i < column; i++) {
columnsTemp[i] = columns[i];
catTemp[i] = columnCategories[i];
}
for (int i = column; i < newCount; i++) {
columnsTemp[i] = columns[i+1];
catTemp[i] = columnCategories[i+1];
}
columns = columnsTemp;
columnCategories = catTemp;
if (columnTitles != null) {
String[] titlesTemp = new String[newCount];
for (int i = 0; i < column; i++) {
titlesTemp[i] = columnTitles[i];
}
for (int i = column; i < newCount; i++) {
titlesTemp[i] = columnTitles[i+1];
}
columnTitles = titlesTemp;
columnIndices = null;
}
}