Compare primitive int Java code example

Example 1: java integer compareto

public class IntegerCompareToExample {  
    public static void main(String[] args) {      
        // compares two Integer values numerically  
          Integer x = new Integer("90");  
          Integer y= new Integer("58");  
          int retResult =  x.compareTo(y);        
          if(retResult > 0) {  
             System.out.println("x is greater than y");  
          } else if(retResult< 0) {  
             System.out.println("x is less than y");  
          } else {  
             System.out.println("x is equal to y");  
          }  
    }  
}

Example 2: string integer compare java

num == Integer.parseInt(str) is going to faster than str.equals("" + num)

str.equals("" + num) will first convert num to string which is O(n) where n being the number of digits in the number. Then it will do a string concatenation again O(n) and then finally do the string comparison. String comparison in this case will be another O(n) - n being the number of digits in the number. So in all ~3*O(n)

num == Integer.parseInt(str) will convert the string to integer which is O(n) again where n being the number of digits in the number. And then integer comparison is O(1). So just ~1*O(n)

To summarize both are O(n) - but str.equals("" + num) has a higher constant and so is slower.

Tags:

Java Example