I have an ArrayList of String, let's say originalArrayList with some values
 final ArrayList<String> originalArrayList = new ArrayList<>();
            originalArrayList.add("value1");
            originalArrayList.add("value2");
            originalArrayList.add("value3");
            originalArrayList.add("value4");
            originalArrayList.add("value5");
  
I copied this originalArrayList within inner class and removed some elements
button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                ArrayList<String> tempArrayList = originalArrayList;
                                
                tempArrayList.remove(0); //Remove an element
               
            }
        });
But this is affecting the original ArrayList which is originalArrayList in my case.
How can I prevent this from happening ?
 
     
     
    