You change the strings array in the line of:
test.getStrings().set(0, "1");
so you cannot expect that the line
test.setStrings(strings);
will restore the original one.
You can do something like:
public static void main(String[] args) {
ArrayList<String> originalStrings = new ArrayList<String>();
originalStrings.add("One");
originalStrings.add("Two");
originalStrings.add("Three");
ArrayList<String> strings = (ArrayList<String>) originalStrings.clone();
Test11 test = new Test11();
test.setStrings(strings);
System.out.println("First get() of index 0: "+test.getStrings().get(0));
System.out.println("Modifying test's strings object...");
test.getStrings().set(0, "1");
System.out.println("First get() of index 0: "+test.getStrings().get(0));
System.out.println("Change it back... using strings variable");
test.setStrings(originalStrings);
System.out.println("First get() of index 0: "+test.getStrings().get(0));
}