This shows you the differences between two versions of the page.
java:jfc_algorithms [2015/03/17 14:41] gthanos |
java:jfc_algorithms [2016/02/26 11:15] |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Αλγόριθμοι ====== | ||
- | Οι βασικοί αλγόριθμοι του JFC υλοποιούνται στην κλάση [[http://docs.oracle.com/javase/7/docs/api/java/util/Collections.html|Collections]]. | ||
- | |||
- | * **sorting:** [[java:jfc_intf_sort|(δείτε τα παραδείγματα)]]. (N Log(n) performance). | ||
- | <code java Sort.java> | ||
- | import java.util.*; | ||
- | |||
- | public class Sort { | ||
- | public static void main(String[] args) { | ||
- | List<String> list = Arrays.asList(args); | ||
- | Collections.sort(list); | ||
- | System.out.println(list); | ||
- | } | ||
- | } | ||
- | </code> | ||
- | |||
- | * **shuffling: ** Ανακατεύει στα στοιχεία της λίστας σε τυχαία σειρά. | ||
- | <code java Shuffle.java> | ||
- | import java.util.*; | ||
- | |||
- | public class Shuffle { | ||
- | public static void main(String[] args) { | ||
- | List<String> list = Arrays.asList(args); | ||
- | Collections.shuffle(list); | ||
- | System.out.println(list); | ||
- | } | ||
- | } | ||
- | </code> | ||
- | * **reverse:** Αντιστρέφει στα στοιχεία της λίστας. | ||
- | <code java Reverse.java> | ||
- | import java.util.*; | ||
- | |||
- | public class Reverse { | ||
- | public static void main(String[] args) { | ||
- | List<String> list = Arrays.asList(args); | ||
- | Collections.reverse(list); | ||
- | System.out.println(list); | ||
- | } | ||
- | } | ||
- | </code> | ||
- | * **fill:** Γεμίζει όλα τα στοιχεία της λίστας με ένα συγκεκριμένο στοιχείο. | ||
- | <code java Fill.java> | ||
- | import java.util.*; | ||
- | |||
- | public class Fill { | ||
- | public static void main(String[] args) { | ||
- | List<String> list = Arrays.asList(args); | ||
- | System.out.println("List elements before fill: "+list); | ||
- | Collections.fill(list,"HelloWorld!"); | ||
- | System.out.println("List elements after fill: "+list); | ||
- | } | ||
- | } | ||
- | </code> | ||
- | * **copy:** Αντιγράφει την μία λίστα πάνω στην άλλη, με την προϋπόθεση ότι η λίστα προορισμού έχει περισσότερα στοιχεία από την λίστα που θα αντιγραφεί. | ||
- | <code java Copy.java> | ||
- | |||
- | import java.util.*; | ||
- | |||
- | public class Copy { | ||
- | public static void main(String args[]) { | ||
- | // create two lists | ||
- | List<String> srclst = new ArrayList<String>(5); | ||
- | List<String> destlst = new ArrayList<String>(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); | ||
- | } | ||
- | </code> | ||
- | * **swap:** Αντιμεταθέτει τα στοιχεία μεταξύ δύο θέσεων της λίστας. | ||
- | <code java Swap.java> | ||
- | import java.util.*; | ||
- | |||
- | public class Swap { | ||
- | public static void main(String[] args) { | ||
- | List<String> 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); | ||
- | } | ||
- | } | ||
- | </code> | ||
- | * **addAll:** Προσθέτει επιπλέον στοιχεία στη λίστα | ||
- | <code java addAll.java> | ||
- | import java.util.*; | ||
- | |||
- | public class AddAll { | ||
- | public static void main(String[] args) { | ||
- | List<String> list = Arrays.asList(args); | ||
- | Collections.addAll(list, "how", "are", "you?"); | ||
- | System.out.println(list); | ||
- | } | ||
- | } | ||
- | </code> | ||
- | * **frequency:** Δηλώνει πόσες φορές εμφανίζεται ένα στοιχείο στην λίστα. | ||
- | <code java Frequency.java> | ||
- | import java.util.*; | ||
- | |||
- | public class Frequency { | ||
- | public static void main(String[] args) { | ||
- | List<String> list = Arrays.asList(args); | ||
- | int testFreq = Collections.frequency(list, "test"); | ||
- | System.out.println("\"test\" appears "+testFreq+" times"); | ||
- | } | ||
- | } | ||
- | </code> | ||
- | |||
- | * **min:** | ||
- | * **max:** | ||
- | <code java MinMax.java> | ||
- | import java.util.*; | ||
- | |||
- | public class MinMax { | ||
- | public static void main(String[] args) { | ||
- | List<String> list = Arrays.asList(args); | ||
- | | ||
- | System.out.println("Min value: "+Collections.min(list,null)+" | Max value: "+Collections.max(list,null) ); | ||
- | } | ||
- | } | ||
- | </code> |