//this is base list this will print last
ArrayList<String> colorList = new ArrayList<>();
colorList.add("Black");
colorList.add("Red");
MyList colors = new Last(colorList);
//first add you list
ArrayList<String> valueList = new ArrayList<>();
valueList.add("45");
valueList.add("10");
valueList.add("100");
valueList.add("48");
valueList.add("25");
MyList afterValues = new Names(colors, valueList);
//second list
ArrayList<String> anything = new ArrayList<>();
anything.add("as");
anything.add("zx");
anything.add("df");
anything.add("we");
anything.add("sd");
MyList any = new Names(afterValues, anything);
//this first item this will print in first
ArrayList<String> Names = new ArrayList<>();
Names.add("GTRZ");
Names.add("DooA");
Names.add("markhaloce");
Names.add("MihiCherub");
for (String Name : Names) {
any.print(Name);
System.out.println("");
}