java:jfc_algorithms

Αλγόριθμοι

Οι βασικοί αλγόριθμοι του JFC υλοποιούνται στην κλάση Collections.

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);
    }
}
  • shuffling: Ανακατεύει στα στοιχεία της λίστας σε τυχαία σειρά.
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);
    }
}
  • reverse: Αντιστρέφει στα στοιχεία της λίστας.
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);
    }
}
  • fill: Γεμίζει όλα τα στοιχεία της λίστας με ένα συγκεκριμένο στοιχείο.
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);    
    }
}
  • copy: Αντιγράφει την μία λίστα πάνω στην άλλη, με την προϋπόθεση ότι η λίστα προορισμού έχει περισσότερα στοιχεία από την λίστα που θα αντιγραφεί.
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);
   }    
  • swap: Αντιμεταθέτει τα στοιχεία μεταξύ δύο θέσεων της λίστας.
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);    
    }
}
  • addAll: Προσθέτει επιπλέον στοιχεία στη λίστα
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);    
    }
}
  • frequency: Δηλώνει πόσες φορές εμφανίζεται ένα στοιχείο στην λίστα.
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");
    }
}
  • min:
  • max:
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) );
    }
}
java/jfc_algorithms.txt · Last modified: 2016/02/26 11:15 (external edit)