1 33 package net.sf.jga.algorithms; 34 35 import java.util.ArrayList ; 36 import java.util.Collection ; 37 import java.util.Collections ; 38 import java.util.Comparator ; 39 import java.util.Iterator ; 40 41 import static net.sf.jga.util.ArrayUtils.*; 42 import static net.sf.jga.util.CollectionUtils.*; 43 44 49 50 public class Sort { 51 52 56 60 static public <T extends Comparable <? super T>> Iterable <T> sort(T[] ts) { 61 return sort(iterable(ts)); 62 } 63 64 68 static public <T> Iterable <T> sort(T[] ts, Comparator <? super T> comp) { 69 return sort(iterable(ts), comp); 72 } 73 74 78 82 static public <T extends Comparable <? super T>> Iterable <T> sort(Iterable <T> i) { 83 ArrayList <T> list = append(new ArrayList <T>(), i.iterator()); 84 Collections.sort(list); 85 return list; 86 } 87 88 89 93 static public <T> Iterable <T> sort(Iterable <T> i, Comparator <? super T> comp) { 94 ArrayList <T> list = append(new ArrayList <T>(), i.iterator()); 95 Collections.sort(list, comp); 96 return list; 97 } 98 99 103 107 static public <T extends Comparable <? super T>> Iterator <T> sort(Iterator <T> i) { 108 ArrayList <T> list = append(new ArrayList <T>(), i); 109 Collections.sort(list); 110 return list.iterator(); 111 } 112 113 114 118 static public <T> Iterator <T> sort(Iterator <T> i, Comparator <? super T> comp) { 119 ArrayList <T> list = append(new ArrayList <T>(), i); 120 Collections.sort(list, comp); 121 return list.iterator(); 122 } 123 124 128 131 static public <T extends Comparable <? super T>, TCollection extends Collection <? super T>> 132 TCollection sort(Iterable <? extends T> i, TCollection co) 133 { 134 ArrayList <T> list = append(new ArrayList <T>(), i.iterator()); 135 Collections.sort(list); 136 co.addAll(list); 137 return co; 138 } 139 140 141 145 static public <T, TCollection extends Collection <? super T>> TCollection 146 sort(Iterable <T> i, Comparator <? super T> comp, TCollection co) { 147 ArrayList <T> list = append(new ArrayList <T>(), i.iterator()); 148 Collections.sort(list, comp); 149 co.addAll(list); 150 return co; 151 } 152 153 } 154 | Popular Tags |