User Tools

Site Tools


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
Last revision Both sides next revision
java:jfc_algorithms [2015/03/17 14:40]
gthanos
java:jfc_algorithms [2020/03/17 06:25]
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(nperformance).+  * **sorting:** (performance NxLog(Ν)).
 <code java Sort.java> <code java Sort.java>
 import java.util.*; import java.util.*;
Line 53: Line 53:
 } }
 </code> </code>
-  * **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 107: Line 107:
 } }
 </code> </code>
-  * **frequency:** +  * **frequency:** Δηλώνει πόσες φορές εμφανίζεται ένα στοιχείο στην λίστα.
 <code java Frequency.java> <code java Frequency.java>
 import java.util.*; import java.util.*;
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