Differences
This shows you the differences between two versions of the page.
| Both sides previous revision
Previous revision
Next revision
|
Previous revision
Last revision
Both sides next revision
|
java:jfc_algorithms [2017/03/29 00:12] gthanos |
java:jfc_algorithms [2020/03/17 06:25] gthanos |
| ====== Αλγόριθμοι ====== | ====== Αλγόριθμοι ====== |
| |
| Οι βασικοί αλγόριθμοι του 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:** (performance NxLog(Ν)). |
| <code java Sort.java> | <code java Sort.java> |
| import java.util.*; | import java.util.*; |
| } | } |
| </code> | </code> |
| * **copy:** Αντιγράφει την μία λίστα πάνω στην άλλη, με την προϋπόθεση ότι η λίστα προορισμού έχει περισσότερα στοιχεία από την λίστα που θα αντιγραφεί. | * **copy:** Αντιγράφει την μία λίστα πάνω στην άλλη. Εάν η λίστα προορισμού έχει περισσότερα στοιχεία από την αρχική λίστα, τα τελευταία στοιχεία της λίστας προορισμού μένουν ως έχουν. Η αρχική λίστα παραμένει αμετάβλητη, επομένως κάθε κοινό στοιχείο πλέον διαθέτει τουλάχιστον δύο δείκτες προς αυτό, έναν δείκτη από την αρχική λίστα και ένα δείκτη από τη λίστα προορισμού. |
| <code java Copy.java> | <code java Copy.java> |
| import java.util.*; | import java.util.*; |