public void merge(int x, int y) { int prX = mainsElems[x], prY = mainsElems[y]; LST lstFirst = lsts[prX]; LST lstSecond = lsts[prY]; Node currentNode = lstFirst.head; while (currentNode != null) { int i = currentNode.data; mainsElems[i] = prY; lstSecond.add(i); currentNode = currentNode.next; } lsts[prX] = null; }