java:jfc_algorithms

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
java:jfc_algorithms [2015/03/17 14:41]
gthanos
java:jfc_algorithms [2020/03/11 07:49]
gthanos
Line 1: Line 1:
 ====== Αλγόριθμοι ====== ====== Αλγόριθμοι ======
  
-Οι βασικοί αλγόριθμοι του JFC υλοποιούνται στην κλάση [[http://docs.oracle.com/javase/7/docs/api/java/util/Collections.html|Collections]].+Οι βασικοί αλγόριθμοι του Java Collections Framework υλοποιούνται στις κλάσεις [[http://docs.oracle.com/javase/7/docs/api/java/util/Collections.html|java.util.Collections]] (για collections) και [[https://docs.oracle.com/javase/8/docs/api/java/util/Arrays.html|java.util.Arrays]] (για πίνακες). Παρακάτω θα δούμε ενδεικτικά παραδείγματα αλγορίθμων από την κλάση [[http://docs.oracle.com/javase/7/docs/api/java/util/Collections.html|java.util.Collections]]. Ανάλογους αλγορίθμους που εφαρμόζονται σε πίνακες παρέχει και η κλάση [[https://docs.oracle.com/javase/8/docs/api/java/util/Arrays.html|java.util.Arrays]]
  
   * **sorting:** [[java:jfc_intf_sort|(δείτε τα παραδείγματα)]]. (N Log(n) performance).   * **sorting:** [[java:jfc_intf_sort|(δείτε τα παραδείγματα)]]. (N Log(n) performance).
Line 55: Line 55:
   * **copy:** Αντιγράφει την μία λίστα πάνω στην άλλη, με την προϋπόθεση ότι η λίστα προορισμού έχει περισσότερα στοιχεία από την λίστα που θα αντιγραφεί.   * **copy:** Αντιγράφει την μία λίστα πάνω στην άλλη, με την προϋπόθεση ότι η λίστα προορισμού έχει περισσότερα στοιχεία από την λίστα που θα αντιγραφεί.
 <code java Copy.java> <code java Copy.java>
- 
 import java.util.*; import java.util.*;
  
 public class Copy { public class Copy {
-   public static void main(String args[]) { +  public static void main(String args[]) { 
-      // create two lists     +    // create two lists   
-      List<String> srclst = new ArrayList<String>(5); +    List<String> srclst = new ArrayList<String>(5); 
-      List<String> destlst = new ArrayList<String>(10); +    List<String> destlst = new ArrayList<String>(10); 
-       +     
-      // populate two lists +    // populate two lists 
-      srclst.add("Java"); +    srclst.add("Java"); 
-      srclst.add("is"); +    srclst.add("is"); 
-      srclst.add("best"); +    srclst.add("best"); 
-       +     
-      destlst.add("C++"); +    destlst.add("C++"); 
-      destlst.add("is"); +    destlst.add("is"); 
-      destlst.add("older"); +    destlst.add("older"); 
-      destlst.add("and"); +    destlst.add("and"); 
-      destlst.add("fast!");       +    destlst.add("fast!");     
-       +     
-      // copy into dest list +    // copy into dest list 
-      Collections.copy(destlst, srclst);             +    Collections.copy(destlst, srclst);       
-       +     
-      System.out.println("Value of source list: "+srclst); +    System.out.println("Value of source list: "+srclst); 
-      System.out.println("Value of destination list: "+destlst); +    System.out.println("Value of destination list: "+destlst); 
-      +  } 
 +}
 </code> </code>
   * **swap:** Αντιμεταθέτει τα στοιχεία μεταξύ δύο θέσεων της λίστας.   * **swap:** Αντιμεταθέτει τα στοιχεία μεταξύ δύο θέσεων της λίστας.
Line 133: Line 133:
 } }
 </code> </code>
 +
 +|Προηγούμενο: [[:java:jfc_intf_sorted_set_map | SortedSet και SortedMap ]] | [[:toc | Περιεχόμενα ]] | Επόμενο: [[:java: ]] |
java/jfc_algorithms.txt · Last modified: 2020/03/17 06:27 by gthanos