#java #processing
#Ява #обработка
Вопрос:
Новичок в кодировании, поэтому ищу некоторую помощь. У меня есть набор данных csv, который содержит пару столбцов и несколько тысяч строк. Строки сгруппированы по идентификатору, и я пытаюсь подсчитать, сколько экземпляров каждого идентификационного номера есть в CSV.
т. е. 100 подпадают под идентификационный номер 1, 210, под номер 2 и т.д.
Данные загружаются в виде таблицы в обработку, есть ли какой-то цикл while/for/if или что-то еще, что я могу использовать, чтобы просто подсчитать, сколько раз определенная строка появляется в файле?
ТИА
Комментарии:
1. Пожалуйста, предоставьте достаточно кода, чтобы другие могли лучше понять или воспроизвести проблему.
Ответ №1:
Из того, что я смог собрать, лучше всего использовать a HashMaplt;String,Integergt;
или, даже HashMaplt;Integer,Integergt;
если вы уверены, что идентификаторы всегда будут числовыми и будут вписываться в целое число.
Следующий код предполагает, что существует коллекция ids
вызываемых listOfIds
. Он пройдет по этому списку и проверит, есть ли у нас какое-либо значение, сохраненное для ключа id
в нашем HashMap
.
Если нет, он сохранит 1
там значение, символизирующее, что мы однажды нашли этот идентификатор.
В противном случае, если мы не в первый раз находим этот идентификатор, мы извлекаем текущее значение и увеличиваем его на единицу.
Maplt;String,Integergt; mapOfIds = new HashMaplt;gt;(); for(String id: listOfIds) { Integer currentValue = mapOfIds.get(id) == null ? 1 : mapOfIds.get(id) 1; mapOfIds.put(id,currentValue); }