java:array_list

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:array_list [2017/02/16 13:20]
gthanos [Παράδειγμα 2]
java:array_list [2017/03/31 20:32]
gthanos [Παράδειγμα 1]
Line 45: Line 45:
 ===== Παράδειγμα 1 ===== ===== Παράδειγμα 1 =====
  
-Με βάση τα παραπάνω ας προσπαθήσουμε να ξαναγράψουμε το πρόγραμμα που δημιουργεί ​τον τηλεφωνικό κατάλογο, ώστε να αποθηκεύσουμε τα στοιχεία όχι σε ένα πίνακα θέσεων, αλλά σε ένα ​αντικείμενο ArrayList. Στη συνέχεια θα προσπαθήσουμε ​να διατρέξουμε τα στοιχεία με χρήση ​ενός ​//Iterator//.+Με βάση τα παραπάνω ​παραθέτουμε ​ένα πρόγραμμα ​το οποίο δημιουργεί ​μία σειρά από 20 τυχαίους αριθμούς και ​τους ​αποθηκεύει σε ένα ​[[http://​docs.oracle.com/​javase/​8/​docs/​api/​java/​util/​ArrayList.html|ArrayList]]. Το πρόγραμμα παραθέτει τρεις (3) διαφορετικές μεθόδους για την διάτρεξη της λίστας //​α)// ​με χρήση κλασσικού //for// //β)// με χρήση //​[[java:​loop_statements#​for_statement|enhanced for]]// και //​γ)// ​με χρήση //iterator//. Το πρόγραμμα κάνει τα εξής:
  
-<​code ​java ReadLineByLine.java> +  - εκτυπώνει τη λίστα με χρήση της πρώτης μεθόδου διάτρεξης. 
-import java.io.*;+  - ταξινομεί τη λίστα με χρήση της στατικής μεθόδου [[http://​docs.oracle.com/​javase/​8/​docs/​api/​java/​util/​Collections.html#sort-java.util.List-|Collections.sort]]. 
 +  - εκτυπώνει τη λίστα με χρήση της δεύτερης μεθόδου διάτρεξης. 
 +  - αφαιρεί τους περιττούς αριθμούς με χρήση της μεθόδου //​removeOddNumbers//​. 
 +  - εκτυπώνει τη λίστα με χρήση της τρίτης μεθόδου διάτρεξης. 
 + 
 +<code java ArrayListManipulation.java>​
 import java.util.ArrayList;​ import java.util.ArrayList;​
 +import java.util.List;​
 import java.util.Iterator;​ import java.util.Iterator;​
 +import java.util.Collections;​
 +import java.util.Random;​
 +import java.util.Date;​
  
-public class ReadLineByLine ​{+public class ArrayListManipulation ​{
   public static void main(String []args) {   public static void main(String []args) {
-    ​try { +    ​Random rand = new Random(new Date().getTime()); 
-      String input; +    ​ArrayList list new ArrayList(); 
-      int i=0; +    for(int i=0i<20i++{ 
-      ArrayList<​TelephoneNumber>​ numbers ​= new ArrayList<​TelephoneNumber>​(); +      ​list.add(rand.nextInt(100));
-      BufferedReader in = new BufferedReader(new FileReader("​telephone-list.txt"​)); +
-      while( (input = in.readLine()) != null && input.length() > 0 ) { +
-        ​TelephoneNumber newNumber ​createTelephoneNumber(input); +
-        ​numbers.addnewNumber ); +
-      } +
-      System.out.println("​-------- Telephone Numbers ---------"​); +
-       +
-      Iterator it = numbers.iterator(); +
-      ​while( it.hasNext() ) { +
-        System.out.println(it.next()); +
-      } +
-       +
-    } catch( IOException ex ) { +
-      ex.printStackTrace();+
     }     }
 +    System.out.println(listToString(list));​
 +    Collections.sort(list);​
 +    System.out.println(listToString2(list));​
 +    removeOddNumbers(list);​
 +    System.out.println(listToString3(list));​
   }   }
   ​   ​
-  public static ​TelephoneNumber createTelephoneNumber(String ​inputLine) { +  public static String ​listToString(ArrayList list) { 
-    int commaPosition ​inputLine.indexOf(",")+    ​String str = "";​ 
-    String ​name inputLine.substring(0, commaPosition).trim(); +    for(int i=0; i<list.size(); i++) 
-    ​String telephone ​inputLine.substringcommaPosition+).trim(); +      str += list.get(i) + " ​  ​"; 
-    ​TelephoneNumber t new TelephoneNumber(name, telephone); +    return str; 
-    ​return t;+  } 
 +   
 +  public static String listToString2(ArrayList list) { 
 +    String ​str "";​ 
 +    for(Object e : list) 
 +      str += e + " ​  ";​ 
 +    return str; 
 +  } 
 +   
 +  public static String listToString3(ArrayList list) { 
 +    String str = "";​ 
 +    Iterator it = list.iterator(); 
 +    ​while(it.hasNext()) 
 +      str +it.next()+" ​  ";​ 
 +    return str; 
 +  } 
 +   
 +  public static void removeOddNumbers(ArrayList list
 +    Iterator it = list.iterator(); 
 +    ​while(it.hasNext()) { 
 +      int num = (Integer)it.next(); 
 +      ​if(num % 2 != 0) 
 +        it.remove(); 
 +    }
   }   }
 } }
java/array_list.txt · Last modified: 2018/03/15 14:49 by gthanos