Iterator<String> iter = set.iterator(); Pair pair = new Pair(); System.out.println(set); // использую HashSet выводится текст корректно while (iter.hasNext()) { String s = iter.next().trim(); pair.first = s.substring(0, s.indexOf(" ")); pair.second = s.substring(s.indexOf(" ") + 1); result.add(pair); System.out.println(pair); // выводится текст корректно } System.out.println(result); // но после добавления пар в список текст уже выводится некорректно