JavaRush /Blog Jawa /Random-JV /Ngopi #196. Cara maca file kanthi bener ing Java 8 lan Ja...

Ngopi #196. Cara maca file kanthi bener ing Java 8 lan Java 11. Cara ngurutake List ing Jawa, macem-macem cara kanggo ngurutake dhaptar ing basa Jawa

Diterbitake ing grup

Cara maca file kanthi bener ing Java 8 lan Java 11

Sumber: Sedheng Kanthi tutorial iki, sampeyan bakal sinau sawetara tips sing migunani nalika ngolah lan maca file gedhe ing Java 8 lan Java 11. Ngopi #196.  Cara maca file kanthi bener ing Jawa 8 lan Jawa 11. Cara ngurutake Daftar ing Jawa, macem-macem cara kanggo ngurutake dhaptar ing Jawa - 1 Maca file sing ana ing disk komputer cukup prasaja ing basa Jawa. Ing Jawa 8 lan mengko, sampeyan bisa nggunakake kelas Files kanggo iki . Iki minangka bagéan saka paket java.nio.file , sing pisanan dikenalaké ing Java 7 kanggo nyedhiyakake cara sing luwih efisien kanggo nggarap file lan direktori. Ing ngisor iki conto carane sampeyan bisa nggunakake kelas Files kanggo maca file ing Jawa 8.
import java.io.IOException;
import java.nio.file.Path;
import java.nio.file.Paths;

public class FileReader {
    public static void main(String[] args) {
        try {
            Path path = Paths.get("file.txt");
            String content = Files.readString(path);
            System.out.println(content);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
Conto iki nggunakake cara Files.readAllLines() kanggo maca kabeh baris file lan nyimpen ing List<String> file . Cara Paths.get () digunakake kanggo nggawe obyek Path makili file. Sampeyan uga bisa nggunakake Files.lines :
import java.io.IOException;
import java.nio.file.Paths;
import java.nio.file.Files;

public class FileReader {
    public static void main(String[] args) {
        try {
            Files.lines(Paths.get("file.txt"))
                .forEach(System.out::println);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
Ing Jawa 11, kanggo maca file sampeyan bisa nggunakake metode readString() , maca kabeh file minangka senar. Punika conto carane nggunakake.
import java.io.IOException;
import java.nio.file.Path;
import java.nio.file.Paths;

public class FileReader {
    public static void main(String[] args) {
        try {
            Path path = Paths.get("file.txt");
            String content = Files.readString(path);
            System.out.println(content);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
Nalika nggarap file gedhe ing Jawa, penting kanggo ngelingi sawetara pedoman:
  1. Gunakake maca buffered . Iku ngijini sampeyan kanggo maca potongan gedhe saka data ing wektu, tinimbang maca siji karakter utawa siji baris ing wektu.
  2. Gunakake ukuran buffer sing luwih cilik : Nalika nggunakake maca buffer, ukuran buffer sing luwih cilik bisa mbantu nyuda panggunaan memori.
  3. Gunakake API streaming . Tinimbang ngemot kabeh file menyang memori, streaming API ngidini sampeyan maca file kanthi bagean.
  4. Gunakake thread paralel kanggo ngolah file , utamane yen file gedhe.
  5. Nutup file sawise maca: iki bakal mbantu mbebasake sumber daya.
  6. Gunakake statement try-with-resources kanggo nutup file kanthi otomatis sawise maca. Iki mesthekake yen file ditutup sanajan ana pangecualian nalika maca.
Ing ngisor iki conto nggunakake statement try-with-resources kanggo maca file.
import java.io.IOException;
import java.nio.file.Paths;
import java.nio.file.Files;
import java.util.List;

public class FileReader {
    public static void main(String[] args) {
        try (BufferedReader reader = Files.newBufferedReader(Paths.get("file.txt"))) {
            String line;
            while ((line = reader.readLine()) != null) {
                System.out.println(line);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
Ing conto iki, obyek BufferedReader digawe ing statement try-with-resources, sing mesthekake yen ditutup kanthi otomatis nalika metu saka blok kasebut, sanajan ana pangecualian. Dadi, nalika maca file gedhe ing Jawa, luwih becik nggunakake maca buffered, ukuran buffer luwih cilik, streaming API, stream paralel, lan nutup file sawise maca. Kajaba iku, nggunakake statement try-with-resources bisa mbantu mesthekake yen file ditutup kanthi bener yen ana pangecualian.

Cara ngurutake dhaptar ing Jawa. Macem-macem Cara Sorting List ing Jawa

Sumber: FreeCodeCamp Kiriman iki kalebu macem-macem cara ngurutake List ing Jawa: Collections.sort () , stream.sorted () lan List.sort () . Ngopi #196.  Cara maca file kanthi bener ing Jawa 8 lan Jawa 11. Cara ngurutake Daftar ing Jawa, macem-macem cara kanggo ngurutake dhaptar ing Jawa - 2Kadhangkala data kudu disusun kanthi urutan tartamtu supaya luwih gampang dimangerteni, ditemokake, lan diproses. Kita nelpon proses iki ngurutake. Nggunakake ngurutake, sampeyan bisa ngatur data ora mung ing urutan tartamtu, nanging uga miturut kritéria: contone, miturut jinis data, kalebu nomer, strings, lan obyek. Basa Jawa nduweni cara kanggo ngurutake, contone ing kelas Koleksi . Pangurutan Jawa asring digunakake ing aplikasi e-commerce ing ngendi pangguna kudu nampilake dhaptar produk. Produk bisa diurutake kanthi macem-macem cara gumantung saka syarat sing disetel pangguna, kayata rega, rating, merek, lan liya-liyane. Contone, yen pangguna pengin ndeleng kabeh produk diurutake miturut rega ing urutan munggah, aplikasi bisa nggunakake algoritma ngurutake kanggo ngatur produk ing urutan kasebut. Kanthi cara iki, nalika pangguna browsing produk, dheweke bakal bisa ndeleng produk sing paling murah dhisik lan nggawe keputusan tuku.

Carane nggunakake Collections.Sort () cara ing Jawa

Salah siji cara sing paling umum kanggo ngurutake data ing Jawa yaiku nggunakake metode Collections.sort () . Kanthi gawan, ngurutake dhaptar ing urutan munggah. Ing ngisor iki conto nggunakake metode Collections.sort() kanggo ngurutake dhaptar integer:
import java.util.Collections;
import java.util.List;
import java.util.ArrayList;

public class Main {
    public static void main(String[] args) {
        List<Integer> numbers = new ArrayList<Integer>();
        numbers.add(3);
        numbers.add(1);
        numbers.add(4);
        numbers.add(2);

        Collections.sort(numbers);

        System.out.println("Sorted List: " + numbers);
    }
}
Kode ing ndhuwur nggawe dhaptar integer, nambah papat nomer, ngurutake dhaptar, banjur nyithak dhaptar sing diurutake menyang konsol. Iki nggunakake kelas saka Pustaka Standar Jawa kanggo nindakake operasi, kalebu java.util.Collections , java.util.List , lan java.util.ArrayList . Output ing ngisor iki:
//Daftar Urutan Output: [1, 2, 3, 4]
Sampeyan uga bisa ngurutake dhaptar obyek khusus nggunakake metode Collections.sort () . Kanggo nindakake iki, sampeyan kudu nggawe comparator lan pass minangka bantahan kanggo Collections.sort () cara . Comparator minangka obyek sing ngetrapake antarmuka java.util.Comparator . Wis siji cara callable, mbandhingaké () , kang mbandhingaké loro obyek lan ngasilake integer nuduhake urutan relatif. Iki conto carane nggunakake komparator kanggo ngurutake dhaptar obyek khusus:
import java.util.Collections;
import java.util.List;
import java.util.ArrayList;

public class Main {
    public static void main(String[] args) {
        List<Person> people = new ArrayList<>();
        people.add(new Person("Alice", 25));
        people.add(new Person("Bob", 30));
        people.add(new Person("Charlie", 20));

        Collections.sort(people, new PersonComparator());

        System.out.println("Sorted List: " + people);
    }
}

class Person {
    private String name;
    private int age;

    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public int getAge() {
        return age;
    }

    @Override
    public String toString() {
        return name + " (" + age + ")";
    }
}

class PersonComparator implements java.util.Comparator<Person> {
    @Override
    public int compare(Person a, Person b) {
        return a.getAge() - b.getAge();
    }
}
Kode sing ditampilake ing ndhuwur nggawe dhaptar obyek Person , nambah sawetara obyek Person menyang dhaptar , ngurutake dhaptar nggunakake komparator khusus ( PersonComparator ), banjur nyithak dhaptar sing diurutake. Kelas Person duwe rong lapangan, jeneng lan umur , uga metode getter kanggo lapangan kasebut. Kelas PersonComparator ngleksanakake antarmuka Comparator lan ngatasi metode perbandingan kanggo ngurutake obyek Person miturut umur ( umur ). Output saka program iki bakal kaya iki:
//output Diurutake List: [Charlie (20), Alice (25), Bob (30)]
Cara Collections.sort () paling apik digunakake nalika sampeyan duwe koleksi obyek sing pengin diurutake miturut siji utawa luwih kolom. Contone, yen sampeyan duwe koleksi obyek Karyawan lan sampeyan pengin ngurutake jeneng mburi, sampeyan bisa nggunakake cara Collections.sort () lan pass komparator adat sing mbandhingaké jeneng mburi obyek Employee .

Carane nggunakake List.Sort () cara ing Jawa

Cara iki ngurutake dhaptar kanthi urutan munggah. Mangkene cara kerjane:
import java.util.Arrays;
import java.util.List;

public class Main {
    public static void main(String[] args) {
        List<Integer> numbers = Arrays.asList(5, 3, 2, 4, 1);
        numbers.sort(null);
        System.out.println(numbers); // prints [1, 2, 3, 4, 5]
    }
}
Ing cara utama , Arrays.asList nggawe dhaptar integer sing diarani angka . Kode banjur ngurutake dhaptar nomer iki nggunakake cara ngurutake standar, amarga null diterusake menyang cara ngurutake . Pungkasan, dhaptar sing diurutake dicithak menyang konsol nggunakake metode System.out.println . Output yaiku [1, 2, 3, 4, 5] . List.sort () migunani nalika sampeyan duwe dhaptar unsur sing kudu diurutake. Contone, yen sampeyan duwe dhaptar strings lan sampeyan pengin ngurutake miturut abjad, sampeyan bisa nggunakake List.sort () cara kanggo nindakake iki . List.sort () iku sawijining cara Kayata saka kelas List lan ngurutake unsur ing urutan ditemtokake dening urutan alam utawa implementasine Icomparer diwenehi .

Carane nggunakake stream.sorted () cara ing Jawa

Ing Jawa 8 lan mengko, sampeyan bisa nggunakake Stream API kanggo ngurutake dhaptar. Iki nyedhiyakake cara sing diurutake , sing bisa digunakake kanggo ngurutake unsur-unsur aliran. Iki conto carane ngurutake dhaptar integer nggunakake stream:
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;

public class Main {
    public static void main(String[] args) {

        List<Integer> numbers = Arrays.asList(5, 3, 2, 4, 1);
        List<Integer> sortedList = numbers.stream().sorted().collect(Collectors.toList());
        System.out.println(sortedList); // prints [1, 2, 3, 4, 5]

    }
}
Nalika sampeyan bisa ndeleng, dhaftar nomer diowahi menyang stream nggunakake stream () cara . Cara sorted () banjur diarani ngurutake unsur ing stream . Cara ngumpulake (Collectors.toList ()) digunakake kanggo ngumpulake unsur sing diurutake bali menyang dhaptar. Asil kasebut minangka dhaptar anyar sing ngemot unsur sing diurutake. Output yaiku [1, 2, 3, 4, 5] . stream.sorted () paling apik digunakake nalika sampeyan duwe stream unsur sing kudu diurutake. Contone, yen sampeyan duwe stream integer lan sampeyan pengin ngurutake ing urutan munggah, iku luwih apik kanggo nggunakake stream.Sorted () cara iki .

Kesimpulan

Ing tutorial iki, sampeyan sinau manawa ana sawetara cara kanggo ngurutake dhaptar ing Jawa - metode Collections.sort () , metode stream.sorted () lan metode List.sort () . Kang saka cara iki paling apik kanggo nggunakake gumantung ing syarat tartamtu saka tugas ing tangan. Muga-muga artikel iki wis menehi informasi sing bener babagan cara ngurutake dhaptar ing basa Jawa. Sugeng coding!
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION