Размещение списков на карте - PullRequest
0 голосов
/ 24 февраля 2020

Понятия не имею, почему в каждое значение в моей карте помещается одна и та же последняя запись. Ключ в порядке, но на каждой итерации мой список помещается в каждую запись на карте. Я не понимаю, почему ..

Может ли кто-нибудь помочь?

    HashMap<Long, LinesEntity> xlsMapped = new HashMap<>();
    MapEntity mapEntity = new MapEntity();

    LinesEntity linesEntity = new LinesEntity();
    ArrayList<String> list = new ArrayList<>();

    //read first line
    String line = br.readLine();
    String array[];

    long mapKey = 0;

        while (line != null) {

            array = line.split(",");

            list.clear();
            for (String cell : array) {

                list.add(cell);
            }
            line = br.readLine();

            linesEntity.setSingleLine(list);

            dataService.saveOne(linesEntity);

            xlsMapped.put(mapKey, linesEntity);
            mapKey++;

        }

     // mapEntity.setMapa(xlsMapped);
    //  dataService.save(mapEntity);

}

1 Ответ

3 голосов
/ 25 февраля 2020

Я думаю, вам нужно создать новые linesEntity и list экземпляры объектов для каждого l oop:

while (line != null) {

    linesEntity = new LinesEntity(); // create a new LinesEntity for this loop execution
    list = new ArrayList()

    array = line.split(",");

Это означает, что технически вам не нужно создавать их наверху , просто объявите их:

LinesEntity linesEntity;
ArrayList<String> list;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...