Код с сокращениями, тут суть)
public class Main {
public static void main(String[] args) throws FileNotFoundException, SQLException {
Map<Integer, String> mapTrackFile = new HashMap<Integer, String>();
while (sc.hasNextLine()){
next = sc.nextLine();
if(next.contains(ABBREVIATYRA)){
mapTrackFile = Main.recordDataTrackOrMap(sc, next);
} else if(next.contains(STARTS_OF_FRAGMENT)){
db.processString (koltrack, mapTrackFile, mapBD, count, sc);
}
}
static Map recordDataTrackOrMap(Scanner sc, String next) {
Map<Integer, String> mapTrackFile = new HashMap<Integer, String>();
//тут нахождение нужных параметров
mapTrackFile.put(number, abbreviatura.trim());
return mapTrackFile;
}
MapTrack берётся из файла, у меня получается так, что записывается только последняя пара ключ - значение, ключи у всех разные 100%, то есть перезаписи не происходит, Что я не так понимаю? Подскажите пожалуйста
Так Вы же в методе recordDataTrackOrMap каждый раз возвращаете новую карту для ключ/значение и присваиваете ее в методе main.
Варианта решения 2:
1. Сделать
Map<Integer, String> mapTrackFile
из метода main полем класса и убрать
Map<Integer, String> mapTrackFile = new HashMap<Integer, String>();
из recordDataTrackOrMap
2. Передавать mapTrackFile из метода main как параметр в метод recordDataTrackOrMap, но опять же
Map<Integer, String> mapTrackFile = new HashMap<Integer, String>();
убрать из метода recordDataTrackOrMap
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Имеется адаптер, в котором на основе запроса формируется строка textToSpeech, мне нужно эту строку передать в активностьКод адаптера:
Я знаю он возвращает ссылку на текущий объект, и с его помощью можно разрешить конфликт локальных и глобальных имен, например в конструктореНо...
В FullComparator не работает сортировка по нескольким полям (channelName, DateCreated (в обратном порядке) и Fingerprint)Сортирует только по первому
Как получить из этой строки 2018-07-11T09:54:40660 +0000 обьект Date?