Может быть, я не понимаю, что вы хотите сделать правильно, но это выглядит как идеальное использование для Enum для меня. Поскольку вы можете добавлять функции в Enums, они должны делать то, что вы хотите, если ваша версия Java достаточно свежа (1.5+). Они тоже сериализуются!
И да, он работает с автозаполнением, хотя список 6000 большой.
Я не знаю, существует ли ограничение на размер Enum, но вы могли бы узнать.
Ex:
public enum Parameter {
NAME("Pending", "T", 0xAAB), FOO("Foo", "T", 0x1FC);
private final String displayValue;
private final char myChar;
private final int someNum;
private Parameter(String display, char c, int num) {
this.displayValue = display;
this.myChar = c;
this.someNum = num;
}
public String getDisplayValue() {
return displayValue;
}
public char getMyChar() {
return myChar;
}
public int getSomeNum() {
return someNum;
}
}
Теперь это позволяет вам делать то, что вы хотите. Пример:
System.out.println("Hi, the value is " + Parameter.NAME.getSomeNum());
Так как они не изменяются во время выполнения (в конце концов, #DEFINEs не может), ENUM должен отвечать всем требованиям.
Что касается чистого размера, возможно, вы попытаетесь немного их разделить и разделить на несколько групп Enum.
Это дает вам возможность связать метаданные (числа), выполнить автозаполнение, == и т. Д.