JavaRush /Java Blog /Random-ID /Rehat kopi #196. Cara membaca file dengan benar di Java 8...

Rehat kopi #196. Cara membaca file dengan benar di Java 8 dan Java 11. Cara mengurutkan Daftar di Java, berbagai cara mengurutkan daftar di Java

Dipublikasikan di grup Random-ID

Cara membaca file dengan benar di Java 8 dan Java 11

Sumber: Medium Dengan tutorial ini, Anda akan mempelajari beberapa tips yang berguna saat memproses dan membaca file besar di Java 8 dan Java 11. Rehat kopi #196.  Cara membaca file dengan benar di Java 8 dan Java 11. Cara mengurutkan List di Java, berbagai cara mengurutkan list di Java - 1 Membaca file yang terletak di disk komputer Anda cukup sederhana di Java. Di Java 8 dan yang lebih baru, Anda bisa menggunakan kelas Files untuk ini . Ini adalah bagian dari paket java.nio.file , yang pertama kali diperkenalkan di Java 7 untuk menyediakan cara yang lebih efisien untuk bekerja dengan file dan direktori. Di bawah ini adalah contoh bagaimana Anda bisa menggunakan kelas Files untuk membaca file di Java 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();
        }
    }
}
Contoh ini menggunakan metode Files.readAllLines() untuk membaca semua baris file dan menyimpannya dalam file List<String> . Metode Paths.get() digunakan untuk membuat objek Path yang mewakili file. Anda juga dapat menggunakan 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();
        }
    }
}
Di Java 11, untuk membaca file Anda dapat menggunakan metode readString() , metode ini membaca seluruh file sebagai string. Berikut ini contoh cara menggunakannya.
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();
        }
    }
}
Saat bekerja dengan file besar di Java, penting untuk mengingat beberapa pedoman:
  1. Gunakan pembaca buffered . Ini memungkinkan Anda membaca sejumlah besar data sekaligus, daripada membaca satu karakter atau satu baris dalam satu waktu.
  2. Gunakan ukuran buffer yang lebih kecil : Saat menggunakan pembaca buffer, ukuran buffer yang lebih kecil dapat membantu mengurangi penggunaan memori.
  3. Gunakan API streaming . Daripada memuat seluruh file ke dalam memori, API streaming memungkinkan Anda membaca file dalam beberapa bagian.
  4. Gunakan thread paralel untuk memproses file , terutama jika file berukuran besar.
  5. Tutup file setelah membaca: ini akan membantu mengosongkan sumber daya.
  6. Gunakan pernyataan coba-dengan-sumber daya untuk menutup file secara otomatis setelah membacanya. Ini memastikan bahwa file ditutup meskipun terjadi pengecualian saat membacanya.
Di bawah ini adalah contoh penggunaan pernyataan try-with-resources untuk membaca 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();
        }
    }
}
Dalam contoh ini, objek BufferedReader dibuat di dalam pernyataan coba-dengan-sumber daya, yang memastikan bahwa objek tersebut ditutup secara otomatis ketika keluar dari blok, bahkan jika terjadi pengecualian. Jadi, saat membaca file besar di Java, yang terbaik adalah menggunakan pembaca buffer, ukuran buffer lebih kecil, API streaming, aliran paralel, dan menutup file setelah membacanya. Selain itu, menggunakan pernyataan coba-dengan-sumber daya dapat membantu memastikan bahwa file ditutup dengan benar jika terjadi pengecualian.

Cara mengurutkan Daftar di Java. Berbagai Metode Penyortiran Daftar di Java

Sumber: FreeCodeCamp Posting ini mencakup berbagai metode pengurutan Daftar di Java: Collections.sort() , stream.sorted() dan List.sort() . Rehat kopi #196.  Cara membaca file dengan benar di Java 8 dan Java 11. Cara mengurutkan List di Java, berbagai cara mengurutkan list di Java - 2Terkadang data perlu disusun dalam urutan tertentu agar lebih mudah dipahami, ditemukan, dan diolah. Kami menyebutnya proses penyortiran. Dengan menggunakan pengurutan, Anda dapat mengatur data tidak hanya dalam urutan tertentu, tetapi juga menurut kriteria: misalnya, berdasarkan tipe data, termasuk angka, string, dan objek. Bahasa Java memiliki metode bawaan untuk pengurutan, misalnya di kelas Koleksi . Penyortiran Java sering digunakan dalam aplikasi e-commerce di mana pengguna perlu menampilkan daftar produk. Produk dapat diurutkan dengan berbagai cara tergantung pada kebutuhan yang ditetapkan pengguna, seperti harga, rating, merek, dan lain sebagainya. Misalnya, jika pengguna ingin melihat semua produk diurutkan berdasarkan harga dalam urutan menaik, aplikasi dapat menggunakan algoritma pengurutan untuk menyusun produk dalam urutan tersebut. Dengan cara ini, ketika pengguna menelusuri produk, dia akan dapat melihat produk termurah terlebih dahulu dan mengambil keputusan pembelian yang sesuai.

Cara menggunakan metode Collections.Sort() di Java

Salah satu cara paling umum untuk mengurutkan data di Java adalah dengan menggunakan metode Collections.sort() . Secara default, ini mengurutkan daftar dalam urutan menaik. Berikut ini contoh penggunaan metode Collections.sort() untuk mengurutkan Daftar bilangan bulat:
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 di atas membuat daftar bilangan bulat, menambahkan empat angka ke dalamnya, mengurutkan daftar, dan kemudian mencetak daftar yang diurutkan ke konsol. Ia menggunakan kelas dari Java Standard Library untuk melakukan operasi, termasuk java.util.Collections , java.util.List , dan java.util.ArrayList . Outputnya adalah sebagai berikut:
//Daftar Urutan Keluaran: [1, 2, 3, 4]
Anda juga dapat mengurutkan daftar objek khusus menggunakan metode Collections.sort() . Untuk melakukan ini, Anda perlu membuat pembanding dan meneruskannya sebagai argumen ke metode Collections.sort() . Komparator adalah objek yang mengimplementasikan antarmuka java.util.Comparator . Ia memiliki satu metode yang dapat dipanggil, bandingkan() , yang membandingkan dua objek dan mengembalikan bilangan bulat yang menunjukkan urutan relatifnya. Berikut ini contoh cara menggunakan komparator untuk mengurutkan daftar objek 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 yang ditampilkan di atas membuat daftar objek Person , menambahkan beberapa objek Person ke daftar , mengurutkan daftar menggunakan pembanding khusus ( PersonComparator ), lalu mencetak daftar yang diurutkan. Kelas Person memiliki dua bidang, nama dan usia , serta metode pengambil untuk bidang ini. Kelas PersonComparator mengimplementasikan antarmuka Comparator dan mengganti metode perbandingan untuk mengurutkan objek Person berdasarkan usia ( age ). Output dari program ini akan seperti ini:
//keluaran Daftar yang Diurutkan: [Charlie (20), Alice (25), Bob (30)]
Metode Collections.sort() paling baik digunakan ketika Anda memiliki kumpulan objek yang ingin Anda urutkan berdasarkan satu atau beberapa bidang. Misalnya, jika Anda memiliki kumpulan objek Karyawan dan ingin mengurutkannya berdasarkan nama belakang, Anda dapat menggunakan metode Collections.sort() dan meneruskan pembanding khusus yang membandingkan nama belakang objek Karyawan .

Cara menggunakan metode List.Sort() di Java

Metode ini mengurutkan daftar dalam urutan menaik. Begini cara kerjanya:
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]
    }
}
Di dalam metode utama , Arrays.asList membuat daftar bilangan bulat yang disebut angka . Kode kemudian mengurutkan daftar angka ini menggunakan metode pengurutan default, karena null diteruskan ke metode pengurutan . Terakhir, daftar yang diurutkan dicetak ke konsol menggunakan metode System.out.println . Outputnya adalah [1, 2, 3, 4, 5] . List.sort() berguna ketika Anda memiliki daftar elemen yang perlu diurutkan. Misalnya, jika Anda memiliki daftar string dan ingin mengurutkannya berdasarkan abjad, Anda dapat menggunakan metode List.sort() untuk melakukan ini . List.sort() adalah metode turunan dari kelas Daftar dan mengurutkan elemen dalam urutan yang ditentukan oleh urutan alaminya atau implementasi Icomparer yang diberikan .

Cara menggunakan metode stream.sorted() di Java

Di Java 8 dan yang lebih baru, Anda bisa menggunakan Stream API untuk mengurutkan daftar. Ini menyediakan metode sortir , yang dapat digunakan untuk mengurutkan elemen aliran. Berikut ini contoh cara mengurutkan daftar bilangan bulat menggunakan aliran:
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]

    }
}
Seperti yang Anda lihat, daftar angka diubah menjadi aliran menggunakan metode stream() . Metode sortir() kemudian dipanggil untuk mengurutkan elemen dalam aliran . Metodecollect (Collectors.toList()) digunakan untuk mengumpulkan elemen yang diurutkan kembali ke dalam daftar. Hasilnya adalah daftar baru yang berisi elemen yang diurutkan. Outputnya adalah [1, 2, 3, 4, 5] . stream.sorted() paling baik digunakan ketika Anda memiliki aliran elemen yang perlu diurutkan. Misalnya, jika Anda memiliki aliran bilangan bulat dan ingin mengurutkannya dalam urutan menaik, lebih baik menggunakan metode stream.Sorted() untuk ini .

Kesimpulan

Dalam tutorial ini, Anda mempelajari bahwa ada beberapa cara untuk mengurutkan daftar di Java - metode Collections.sort() , metode stream.sorted() , dan metode List.sort() . Metode mana yang terbaik untuk digunakan bergantung pada persyaratan spesifik tugas yang ada. Saya harap artikel ini memberi Anda informasi yang benar tentang cara mengurutkan daftar di Java. Selamat membuat kode!
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION