ArrayList ugró index

szavazat
-1

Azt akarom, hogy a tömb kihagyja üres indexek. Ez a formátum a szöveges fájl.

some text

1
2
3
4

2
5
4
6

5
7
6
8

Itt a kód

import java.io.*; 
import java.util.*;
import java.io.IOException;
class ArrayPractice {
    public static void main(String[] args) throws IOException{
        BufferedReader br = new BufferedReader(new FileReader(file.txt)); //reads the file
        ArrayList<String> list = new ArrayList<String>(); //creates arraylist
        String line;
    while ((line = br.readLine()) !=null){ 
                        //i thought this just reads the lines and if its null skips it but its not happening
         list.add(line);
    }
        br.close();
        System.out.println(list);
        if (list.get(2).equals(list.get(5))){ //comparing two of the lines that should be equal
            System.out.println(Should be equal);
        } else {
            System.out.println(list.get(3));
            System.out.println(list.get(7));
            System.out.println(This is what is actually equal from my code)
        }
            System.out.println(list.size()); //says the size of the list is 16
}
}

Azt hittem, ahogy én felállított hogyan kódomat hozzáteszi vonal figyelmen kívül hagyja az üres is. Szintén vajon miért a méret a lista 16, amikor már csak 15 indexek. A kérdésem az, hogyan tudom figyelmen kívül hagyni az üres sorokat szövegének az állományt.

A kérdést 03/12/2019 00:03
a forrás felhasználó
Más nyelveken...                            


1 válasz

szavazat
0
while ((line = br.readLine()) !=null){  
     list.add(line);
}

Ez csak azt ellenőrzi, hogy az olvasási vonal null ornot. A definíció szerint a vonal csak nulla, amikor az utolsó sort olvasni. Üres sorok képviselik üres stringet. Annak érdekében, hogy kihagyja azokat, amelyeket le kell ellenőrizni, hogy üres a sor.

while ((line = br.readLine()) !=null){  
     if(!line.isEmpty()) {
          list.add(line);
     } 
}

Lehet vágja a sorokat, ha tartalmazhat szóközt szeretne elkerülni.

while ((line = br.readLine()) !=null){  
     if(!line.trim().isEmpty()) {
          list.add(line);
     } 
}
Válaszolt 03/12/2019 00:24
a forrás felhasználó

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more