Я читаю файл с разделителями в пользовательский объект под названием «Держатель». Держатель содержит список пользовательских объектов, называемых «Запись». Каждая запись представляет собой пользовательские объекты под названием «Поле». Каждое поле имеет строковое имя и String ЗначениеСортировка списка по атрибуту в подписок в java
public class Holder{
private List RecordList;
/* constructors and methods */
}
public class Record{
private List FieldList
/* constructors and methods */
}
public class Field{
private String Name;
private String Value;
/* constructors and methods */
}
Я потянув имя для объекта Field из базы данных на основе первого пункта на линии. Вот пример файла я потянув в (номера строк - они также будут иметь индексы Record - начиная с 0 добавлены для простоты объяснения):
0 - A,123
1 - B,123,123456
2 - B,123,654321
3 - B,123,112233
4 - C,123,choice1,1/1/2011,12/31/2011
5 - C,123,choice2,1/1/2011,12/31/2011
6 - D,123,choice1,1/1/2011,12/31/2011,654321
7 - D,123,choice1,1/1/2011,12/31/2011,112233
Держатель хранит список Record
объектов. Каждая строка становится объектом Record
, который хранит список объектов Field
. Каждая строка между запятыми становится ее собственным Value
на объекте Field
. Ex: Для первого "B" запись (строка 1), A Record BLine1
объект будет выглядеть следующим образом:
BLine1.getFieldList.get(0).getName() = "LineType" //set from DAO not shown
BLine1.getFieldList.get(0).getValue() = "B"
BLine1.getFieldList.get(1).getName() = "Number" //set from DAO not shown
BLine1.getFieldList.get(1).getValue() = "123"
BLine1.getFieldList.get(2).getName() = "Selection" //set from DAO not shown
BLine1.getFieldList.get(2).getValue() = "123456"
мне нужно отсортировать этот список по каждому полю. Но в зависимости от типа LineType это тип и количество элементов для сортировки по изменениям. Линейные типы могут быть добавлены/отобраны, и поля могут измениться. Поэтому мне действительно нужно что-то общее, насколько это возможно.
Будет заказано в том порядке, в котором находится поле. Так это будет отсортирован по FieldList.getValue(0), FieldList.getValue(1), .... FieldList.getValue(FieldList.size() - 1)
Итак, это порядок номера строк должно быть в том, когда это делается:
0
3
1
2
4
5
7
6
Какой самый лучший/самый эффективный способ сделать такого рода?
Заранее благодарен!
Первая часть с lenDiff не будет обязательно, потому что некоторые более поздние типы короче предыдущих. Не уточнил, что в вопросе, моя вина. Я попробую за выходные и отчитаюсь. Похоже, что я хочу. Благодаря! – AgentBawls