Ciao a tutti, ho scritto il codice per ordinare degli oggetti, ma non vengono ordinati, ecco il codice:

Codice PHP:
package it.ordinare.liste.test;


import java.util.ArrayList;
import java.util.Collections;


public class 
Main {


    
/**
     * @param args
     */
    
public static void main(String[] args) {
        
ArrayList<InsertionBeaninsertionBeanList = new ArrayList<InsertionBean>();
        
InsertionBean insertionBean1 = new InsertionBean();
        
insertionBean1.setId(1);
        
insertionBean1.setPrice(100000);
        
insertionBean1.setTitle("titolo 1");
        
InsertionBean insertionBean2 = new InsertionBean();
        
insertionBean1.setImageName("7_1.jpg");
        
insertionBean2.setId(2);
        
insertionBean2.setPrice(200000);
        
insertionBean2.setTitle("titolo 2");
        
insertionBean2.setImageName("6_1.jpg");
        
InsertionBean insertionBean3 = new InsertionBean();
        
insertionBean3.setId(3);
        
insertionBean3.setPrice(300000);
        
insertionBean3.setTitle("titolo 3");
        
insertionBean3.setImageName("5_1.jpg");
        
insertionBeanList.add(insertionBean1);
        
insertionBeanList.add(insertionBean2);
        
insertionBeanList.add(insertionBean3);
        if (
insertionBeanList != null && !insertionBeanList.isEmpty()) {


            
/** ordino per prezzo crescente */
            
Collections.sort(insertionBeanList,
                    new 
ComparatorInsertionPriceHighToLow());
            
System.err.println("crescente ins1 price: "
                    
+ ((InsertionBeaninsertionBeanList.get(0)).getPrice());
            
System.err.println("crescente ins2 price: "
                    
+ ((InsertionBeaninsertionBeanList.get(1)).getPrice());
            
System.err.println("crescente ins3 price: "
                    
+ ((InsertionBeaninsertionBeanList.get(2)).getPrice());
            
            
/** ordino per prezzo decrescente */
            
Collections.sort(insertionBeanList,
                    new 
ComparatorInsertionPriceLowToHigh());
            
System.err.println("decrescente ins1 price: "
                    
+ ((InsertionBeaninsertionBeanList.get(0)).getPrice());
            
System.err.println("decrescente ins2 price: "
                    
+ ((InsertionBeaninsertionBeanList.get(1)).getPrice());
            
System.err.println("decrescente ins3 price: "
                    
+ ((InsertionBeaninsertionBeanList.get(2)).getPrice());


        }
    }
}


package it.ordinare.liste.test;




import java.util.Comparator;


public class 
ComparatorInsertionPriceHighToLow implements Comparator<InsertionBean> {


    @
Override
    
public int compare(InsertionBean arg0InsertionBean arg1) {
        
int price0 arg0.getPrice();
        
int price1 arg1.getPrice();
//        System.out.println("price0: "+price0);
//        System.out.println("price1: "+price1);
        
int result = (price0 price1) ? 1;
//        System.out.println("HighToLow result: "+result);
        
return result;
    }


}

package it.ordinare.liste.test;




import java.util.Comparator;


public class 
ComparatorInsertionPriceLowToHigh implements Comparator<InsertionBean> {


    @
Override
    
public int compare(InsertionBean arg0InsertionBean arg1) {
        
int price0 arg0.getPrice();
        
int price1 arg1.getPrice();
//        System.out.println("price0: "+price0);
//        System.out.println("price1: "+price1);
        
int result = (price0 price1) ? 1;
//        System.out.println("lowToHight result: "+result);
        
return result;
    }

Il risultato è questo:

crescente ins1 price: 100000
crescente ins2 price: 200000
crescente ins3 price: 300000


decrescente ins1 price: 100000
decrescente ins2 price: 200000
decrescente ins3 price: 300000

Mentre io volevo questo:

crescente ins1 price: 100000
crescente ins2 price: 200000
crescente ins3 price: 300000

decrescente ins1 price: 300000
decrescente ins2 price: 200000
decrescente ins3 price: 100000

Sapete dirmi dove sbaglio?

grazie