====== Αλγόριθμοι ====== Οι βασικοί αλγόριθμοι του JFC υλοποιούνται στην κλάση [[http://docs.oracle.com/javase/7/docs/api/java/util/Collections.html|Collections]]. * **sorting:** [[java:jfc_intf_sort|(δείτε τα παραδείγματα)]]. (N Log(n) performance). import java.util.*; public class Sort { public static void main(String[] args) { List list = Arrays.asList(args); Collections.sort(list); System.out.println(list); } } * **shuffling: ** Ανακατεύει στα στοιχεία της λίστας σε τυχαία σειρά. import java.util.*; public class Shuffle { public static void main(String[] args) { List list = Arrays.asList(args); Collections.shuffle(list); System.out.println(list); } } * **reverse:** Αντιστρέφει στα στοιχεία της λίστας. import java.util.*; public class Reverse { public static void main(String[] args) { List list = Arrays.asList(args); Collections.reverse(list); System.out.println(list); } } * **fill:** Γεμίζει όλα τα στοιχεία της λίστας με ένα συγκεκριμένο στοιχείο. import java.util.*; public class Fill { public static void main(String[] args) { List list = Arrays.asList(args); System.out.println("List elements before fill: "+list); Collections.fill(list,"HelloWorld!"); System.out.println("List elements after fill: "+list); } } * **copy:** Αντιγράφει την μία λίστα πάνω στην άλλη, με την προϋπόθεση ότι η λίστα προορισμού έχει περισσότερα στοιχεία από την λίστα που θα αντιγραφεί. import java.util.*; public class Copy { public static void main(String args[]) { // create two lists List srclst = new ArrayList(5); List destlst = new ArrayList(10); // populate two lists srclst.add("Java"); srclst.add("is"); srclst.add("best"); destlst.add("C++"); destlst.add("is"); destlst.add("older"); destlst.add("and"); destlst.add("fast!"); // copy into dest list Collections.copy(destlst, srclst); System.out.println("Value of source list: "+srclst); System.out.println("Value of destination list: "+destlst); } * **swap:** Αντιμεταθέτει τα στοιχεία μεταξύ δύο θέσεων της λίστας. import java.util.*; public class Swap { public static void main(String[] args) { List list = Arrays.asList(args); System.out.println("List elements before swap: "+list); Collections.swap(list, 0, 2); System.out.println("List elements after swap: "+list); } } * **addAll:** Προσθέτει επιπλέον στοιχεία στη λίστα import java.util.*; public class AddAll { public static void main(String[] args) { List list = Arrays.asList(args); Collections.addAll(list, "how", "are", "you?"); System.out.println(list); } } * **frequency:** Δηλώνει πόσες φορές εμφανίζεται ένα στοιχείο στην λίστα. import java.util.*; public class Frequency { public static void main(String[] args) { List list = Arrays.asList(args); int testFreq = Collections.frequency(list, "test"); System.out.println("\"test\" appears "+testFreq+" times"); } } * **min:** * **max:** import java.util.*; public class MinMax { public static void main(String[] args) { List list = Arrays.asList(args); System.out.println("Min value: "+Collections.min(list,null)+" | Max value: "+Collections.max(list,null) ); } }