Мне нужно отсортировать мою хеш-таблицу по этому строковому значению.
Хеш-таблица не является структурой отсортированных данных.*
Вы можете использовать некоторые SortedMap
, такие как TreeMap
, но эти структуры данных сортируют по ключам, так что это будет работать, только если ключ равен строкеполе указанного объекта.
Я не могу просто отсортировать его по значениям хеш-таблицы, потому что это объект ..
Вам необходимо предоставить Comparator<myclass>
или позволить myclass
реализовать интерфейс Comparable
.
В зависимости от того, как вы выполняете итерацию по хеш-таблице, вы можете сделать такэто:
List<myclass> myObjects = new ArrayList<myclass>(m_class_table.values());
Collections.sort(myObjects, new Comparator<myclass>() {
@Override
public int compare(myclass o1, myclass o2) {
o1.stringField.compareTo(o2.stringField);
}
});
и затем переберите список myObjects
.(Элементы в List
упорядочены.)