Artikel ini adalah artikel cermin dari terjemahan mesin, silakan klik di sini untuk melompat ke artikel aslinya.

Melihat: 28269|Jawab: 1

[Sumber] Penggunaan tuple di Jawa

[Salin tautan]
Diposting pada 31/08/2021 11.22.41 | | | |
Tuple memiliki arti khusus di bidang komputer, nama ini mungkin terdengar sedikit asing, dan pada dasarnya tidak ada skenario aplikasi dalam menulis kode, namun, anehnya, tuple terkait erat dengan pemrograman, beberapa siswa mungkin tidak tahu bahwa nama akademik lain untuk "catatan" dalam database relasional adalah "tuple", catatan adalah tuple, tabel adalah hubungan, catatan terdiri dari tabel, tuple menghasilkan hubungan, ini adalah konsep inti dari database relasional.

Tuple adalah bagian yang tidak terpisahkan dari database relasional, tetapi mereka tidak begitu diperlukan dalam pemrograman. Beberapa bahasa pemrograman memiliki sintaks tuple mereka sendiri, seperti python, F#, haskell, scala, dll., sementara yang lain lebih populer tetapi tidak memiliki sintaks tuple, seperti Java, JavaScript, C++, C#, dll.

Tuple bukanlah elemen pemrograman yang sangat diperlukan seperti array dan objek, tetapi penggunaannya bisa sangat nyaman untuk menulis kode, terutama ketika suatu fungsi perlu mengembalikan banyak nilai. Dalam hal ini, praktik umum adalah menentukan objek, mengatur nilai yang perlu dikembalikan fungsi sebagai atribut objek, lalu mengatur jenis nilai yang ditampilkan fungsi ke jenis objek. Atau Anda dapat meminta fungsi ini mengembalikan struktur data peta di mana data spesifik ada. Namun, kedua pendekatan tersebut memiliki kekurangannya masing-masing, dan metode pertama dapat diandalkan, tetapi kodenya sangat membengkak. Persyaratannya sendiri sangat sederhana, selama fungsi mengembalikan beberapa nilai, tetapi metode ini memerlukan penentuan jenis terlebih dahulu, kemudian membuat instance, lalu mengatur properti instance, dan akhirnya mengembalikan, yang terlalu tidak efisien. Meskipun metode kedua cepat, tetapi tidak cukup aman, di dalam fungsi mungkin mengetahui nilai seperti apa yang disimpan di peta, tetapi di luar fungsi, hanya tahu bahwa nilai pengembalian dari fungsi ini adalah peta, adapun nilai apa yang disimpan di peta, jenis apa yang tidak diketahui, dalam proyek pengembangan multi-orang Kerugian ini sangat jelas, sayangnya praktik ini adalah solusi yang lebih disukai dalam beberapa bahasa yang diketik secara dinamis, yang juga merupakan salah satu alasan mendasar mengapa bahasa yang diketik secara dinamis dikeluhkan karena keamanan dan keterbacaan yang buruk. Oleh karena itu, solusi terbaik untuk jenis masalah ini adalah dengan menggunakan tuple.

Dalam bahasa di mana sintaks itu sendiri mendukung tuple, tuple diwakili oleh tanda kurung, seperti (int, bool, string) adalah tipe tiga, dan nilainya dapat berupa (1, true, "abc"). Perlu dicatat bahwa setiap jenis tuple adalah unik, (int, bool), (bool, int), (string, double) semuanya adalah biner, tetapi mereka adalah tuple yang berbeda, jika Anda mengambil tuple tertentu di sini sebagai nilai pengembalian fungsi, meskipun tidak sebaik solusi pertama menggunakan jenis kustom yang disebutkan sebelumnya dalam hal keterbacaan dan keamanan, tetapi jauh lebih baik daripada solusi kedua menggunakan map, setidaknya menggunakan tuple dapat mengetahui berapa banyak nilai yang akan dikembalikan fungsi, Jenis nilai apa nilai-nilai ini, dan memiliki keuntungan karena sederhana dan cepat untuk mengkodekan skema kedua menggunakan peta.

Untungnya, bahasa pemrograman ini sekarang mendukung generik, dan implementasi tuple non-built-in telah menjadi sangat sederhana, tetapi bagaimanapun juga, ini adalah elemen sintaks bawaan non-bahasa, dan jelas tidak nyaman digunakan seperti tuple asli.

Berikut ini memperkenalkan perpustakaan tuple Java pihak ketiga, yang disebut Javatuples, dengan beranda resminya sendiri dan ratusan bintang github, yang hampir memainkan posisi monopoli di bidang tuple Java.

Javatuples mendefinisikan tuple dengan panjang maksimum 10, tetapi saya pikir jumlah elemen dalam 10-tuple sudah terlalu banyak, dan pada dasarnya tidak ada keterbacaan. Kelas tuple didefinisikan sebagai berikut:

Unit<A> (1 elemen)

Pasangan<A,B> (2 elemen)

Triplet<A,B,C> (3 elemen)

Kuartet<A,B,C,D> (4 elemen)

Kuintet < A, B, C, D, E> (5 elemen)

Sextet<A,B,C,D,E,F> (6 elemen)

Sepset<A,B,C,D,E,F,G> (7 elemen)

Oktet<A,B,C,D,E,F,G,H> (8 elemen)

Ennead<A,B,C,D,E,F,G,H,I> (9 elemen)

Dekade < A, B, C, D, E, F, G, H, I, J> (10 elemen)

Kelas pola dasar ini adalah kelas generik, sehingga huruf dalam tanda kurung sudut dapat diganti dengan jenis sewenang-wenang. Di bawah ini adalah contoh kode biner





Dengan menarik kesimpulan, jenis tuple lainnya digunakan dengan cara yang sama.

Karena tuple Java tidak didukung oleh bahasa itu sendiri, kodenya terlihat Jawa dan kurang elegan. Namun, saat menulis kode, selain kemudahan menulis dapat meningkatkan efisiensi, lebih penting untuk lebih memperhatikan makna yang diungkapkan oleh kode itu sendiri, yaitu menggunakan makna (fungsi) dari tuple itu sendiri untuk meningkatkan kode, dan cara menulisnya sebenarnya hanya sekunder.

Terakhir, perlu dicatat bahwa tipe dalam kurung sudut generik tidak bisa menjadi tipe dasar Java, jika Anda ingin menggunakan tipe dasar, itu juga harus jenis dasar yang telah dikotakkan, seperti tipe int harus dikonversi menjadi Integer, dan tipe bool sesuai dengan tipe Boolean.




Mantan:POI CellStyle mengatur warna latar belakang sel
Depan:Tutorial .NET/C# MailKit untuk Mengirim Mail [dengan Kode Sumber]
 Tuan tanah| Diposting pada 15/09/2021 10.55.08 |
Anda perlu menggunakan maven untuk memperkenalkan dependensi seperti ini:


javatuples memungkinkan kita membuat hingga sepuluh nilai pengembalian


Sanggahan:
Semua perangkat lunak, materi pemrograman, atau artikel yang diterbitkan oleh Code Farmer Network hanya untuk tujuan pembelajaran dan penelitian; Konten di atas tidak boleh digunakan untuk tujuan komersial atau ilegal, jika tidak, pengguna akan menanggung semua konsekuensi. Informasi di situs ini berasal dari Internet, dan sengketa hak cipta tidak ada hubungannya dengan situs ini. Anda harus sepenuhnya menghapus konten di atas dari komputer Anda dalam waktu 24 jam setelah pengunduhan. Jika Anda menyukai program ini, harap dukung perangkat lunak asli, pembelian pendaftaran, dan dapatkan layanan asli yang lebih baik. Jika ada pelanggaran, silakan hubungi kami melalui email.

Mail To:help@itsvse.com