package collections;
import java.util.*;

class SortExamples {
 
 public static void sort(List list, Comparator c){
	 Object a[] = list.toArray();
	 Arrays.sort(a, c);
	 ListIterator i = list.listIterator();
	 
	 i.hasNext();
	 
	 for (int j=0;j<a.length; j++) {
		   i.next();
		   //System.out.println(i.next()); // wrong
		   i.set(a[j]);
	}
	 
	 
  }
}

class myComp implements Comparator {
	public int compare(Object a, Object b) {
		int i1 = ((Integer)a).intValue();
        int i2 = ((Integer)b).intValue();

        return Math.abs(i1) - Math.abs(i2);
	}
}

class SortExamplesTester {
	public static void main(String[] a){
		List list = new LinkedList();
		list.add(2);
		list.add(1);
		
		System.out.println(list);
		SortExamples.sort(list, new myComp());
		System.out.println(list);
		
		Collection bag = new HashSet();
		bag.add(4);
		bag.add("Yannis");
		System.out.println(bag);
		
		
	}
}