I am trying to check if a palindrome using java's arraylist, and though my logic makes sense the output doesn't. If I use the Collections.reverse method to reverse the arraylist it gives me true for a number that's not a palindrome.
        int temp = 123;
        ArrayList<Integer> num = new ArrayList<Integer>();
        
        while(temp!=0){
            
            num.add(temp%10);
            temp=temp/10;
            
        }
        ArrayList<Integer> ognum = num;
        Collections.reverse( ognum);
        if(num.equals(ognum)){
            return true;
        }else{
            return false;
        }
Output: true
However if I do this:
        int temp = 123;
        ArrayList<Integer> num = new ArrayList<Integer>();
        
        while(temp!=0){
            
            num.add(temp%10);
            temp=temp/10;
            
        }
        ArrayList<Integer> ognum = new ArrayList<Integer>();
        ognum.add(1);
        ognum.add(2);
        ognum.add(3);
        if(num.equals(ognum)){
            return true;
        }else{
            return false;
        }
Output: false
 
    