====== Αλγόριθμοι ======
Οι βασικοί αλγόριθμοι του 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) );
}
}