Прежде всего код, который вы ввели, не должен компилироваться, потому что pair принимает ArrayList, а вы ставите long. Теперь, учитывая, что это опечатка, в своем коде вы указали y вместо testNumber в вашей паре в x, вы добавили ссылку на Arraylist в вашей паре. И у, и ваша ссылка в вашей паре указывает на один и тот же объект в той же ячейке памяти. поэтому, когда вы очищаете y, данные в этом месте памяти очищаются. А так как ваша пара также указывает на ту же ячейку памяти, которая уже была очищена, следовательно, вы получаете пустые данные. Это все равно, что называть человека с его официальным именем и псевдонимом, поскольку оба указывают на одного и того же человека.
Решение должно состоять в том, чтобы сделать копию буквы y, прежде чем добавить ее в пару, и добавить эту копию в пару. попробуйте
x.add(Pair("testString",ArrayList(y))
или вы можете вручную сделать deepCopy of y, а затем введите его в x