» »

[Java]Dodajanje v LinkedList iz datoteke

[Java]Dodajanje v LinkedList iz datoteke

alexa-lol ::

hej :D mene nekaj zanima...
imam file.txt z vsebino
1 2 3 4
2 5 6 8 7

Kako bi najlažje posamezno vrstico dodal v posamezen LinkedList?
(Privzemimo, da ima file.txt vedno dve vrstici)

hvala
lp

alexa-lol ::

ok sem nasel resitev, a je grda. Prepričan sem, da obstaja bolj elegantna rešitev. Če je kdo pozna naj jo prosim prilepi.

rešitev:
import java.io.*;
import java.util.LinkedList;

public class File{
    public static void main(String[] args) throws IOException {
        LinkedList<Integer> list1 = new LinkedList<Integer>();
        LinkedList<Integer> list2 = new LinkedList<Integer>();
        BufferedReader br = null;
        String string;
        int counter = 0;
        try {
            br = new BufferedReader(new FileReader("C:\\Input\\file.txt"));
            while ((string = br.readLine()) != null){
                if(counter==0){
                    list1 = stringToLinkedList(string);
                }
                else{
                    list2 = stringToLinkedList(string);
                }
                counter++;
            }
        }
        finally {
            br.close();
        }
        printList(list1);
        System.out.println();
        printList(list2);

    }

    public static LinkedList<Integer> stringToLinkedList(String string){
        String delimiter = " ";
        String[] temp;
        LinkedList<Integer> list = new LinkedList<Integer>();
        temp = string.split(delimiter);
        for(int i = 0; i < temp.length; i++){
            list.add(Integer.parseInt(temp[i]));
        }
        return list;
    }

    public static void printList(LinkedList list){
        for(int i = 0; i < list.size(); i++){
            System.out.print(list.get(i) + " ");
        }
   }
}

overlord_tm ::

Odpres file v BufferedReaderju, preberes vrstico, obesis nanjo Scanner, in potem dokler so podatki v vrstici (hasNext()) dodajas v linkedlist. Ponovis vajo na drugi vrstici.

Nuke_H2 ::

public static void dodaj(LinkedList seznam, File f){
      BufferedReader br=new BufferedReader(new FileReader(f);
      String vrstica;
      Scanner sc;
      while((vrstica=br.readLine())!=null){
           sc=new Scanner(vrstica);
           while(sc.hasNext()){
                seznam.add(sc.next());
           }
      }
}


Neki tazga... Kodo sem pisal na pamet tako, da so možne napake :).

Lp Nuke_H2


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

[C#] Razširitev Linked List-a

Oddelek: Programiranje
51107 (773) Ciklamen
»

[c#] Sklad

Oddelek: Programiranje
91579 (1439) Spura
»

[c#] Ustvarjanje objekta v drugem razredu

Oddelek: Programiranje
81653 (1598) Cvenemir
»

Povezani seznam

Oddelek: Programiranje
132096 (1693) pohano
»

[c#] LinkedList branje poljubnega elementa

Oddelek: Programiranje
161551 (1460) FrEaKmAn

Več podobnih tem