Bekerja dengan Koleksi dan Tatasusunan Java
Saling kendali sering bermaksud merentas antara koleksi tidak berubah Clojure dan koleksi boleh berubah Java. Pelajaran ini mengajar penukaran, pengulangan dan pengendalian tatasusunan primitif daripada Clojure.
Bekerja dengan Koleksi dan Tatasusunan Java ialah pelajaran Pengaturcaraan Fungsian Clojure dan Pembangunan Bahagian Belakang JVM percuma di CoddyKit. Ini ialah pelajaran 4 daripada 4. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Pengaturcaraan Fungsian Clojure dan Pembangunan Bahagian Belakang JVM, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Pengaturcaraan Fungsian Clojure dan Pembangunan Bahagian Belakang JVM merangkumi sejumlah 4 pelajaran.
Dua Dunia Koleksi
Koleksi Clojure adalah tidak boleh ubah dan persisten; koleksi Java biasanya boleh ubah. Saling kendali memerlukan nilai dipindahkan antara kedua-duanya dengan teliti.
Koleksi Java Boleh Dijujukkan
Kebanyakan koleksi Java melaksanakan Iterable, jadi fungsi seq Clojure boleh digunakan terus padanya.
(def jlist (java.util.ArrayList. [1 2 3]))
(println (map inc jlist))Membina Senarai Java
Bina dan ubah senarai Java menggunakan panggilan kaedah saling kendali.
(let [l (java.util.ArrayList.)]
(.add l "a")
(.add l "b")
(println l))Menukar kepada Vektor Clojure
Bungkus koleksi Java dalam vec atau into untuk mendapatkan struktur Clojure yang tidak boleh ubah.
(def jlist (java.util.ArrayList. [10 20 30]))
(println (vec jlist))
(println (into [] jlist))Peta Clojure kepada Peta Java
Peta Clojure sememangnya ialah java.util.Map, jadi peta itu boleh dihantar kepada API Java yang menjangkakan peta tersebut. Untuk salinan boleh ubah, bina HashMap.
(def m {"k" 1})
(def jmap (java.util.HashMap. m))
(.put jmap "k2" 2)
(println jmap)Tatasusunan Primitif
API Java sering memerlukan tatasusunan primitif. Ciptanya dengan pembina bertip seperti int-array dan double-array.
(def arr (int-array [1 2 3 4]))
(println (alength arr))
(println (aget arr 2))Membaca dan Menulis Tatasusunan
Gunakan aget untuk membaca dan aset untuk menulis slot tatasusunan mengikut indeks.
(def arr (int-array 3))
(aset arr 0 99)
(println (vec arr))Tatasusunan Kembali kepada Seq
Bungkus tatasusunan dalam seq atau vec untuk memprosesnya dengan fungsi jujukan Clojure.
(def arr (double-array [1.5 2.5 3.5]))
(println (reduce + (seq arr)))Petunjuk Jenis untuk Prestasi
Tambahkan petunjuk jenis supaya pengkompil mengelakkan refleksi dalam gelung tatasusunan yang kerap digunakan.
(defn sum-ints [^ints xs]
(areduce xs i acc 0 (+ acc (aget xs i))))Berhati-hati dengan Pengaliasan Mutasi
Apabila anda menyerahkan koleksi Java yang boleh ubah kepada kod lain, kedua-dua pihak dapat melihat perubahan. Salin ke dalam struktur Clojure yang tidak boleh ubah apabila anda memerlukan pengasingan.
Pilih Sempadan
Kekalkan koleksi Java yang boleh ubah di sempadan saling kendali dan tukarkannya kepada data Clojure yang tidak boleh ubah seawal mungkin, supaya bahagian kod yang lain kekal berfungsi secara tulen.
Semakan Pantas
Uji pengetahuan anda tentang saling kendali koleksi Java.
Ulang Kaji
Anda telah mempelajari bahawa koleksi Java boleh dijujukkan, cara menukar antara koleksi Java dan Clojure, membina dan membaca tatasusunan primitif, menambah petunjuk jenis, serta mengekalkan mutasi di sempadan saling kendali.
Pelajari Clojure dengan tutor kecerdasan buatan — percuma
Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.
- Kursus
- 12
- Pelajaran
- 48
Soalan Lazim
Adakah pelajaran “Bekerja dengan Koleksi dan Tatasusunan Java” percuma?
Ya — teks penuh “Bekerja dengan Koleksi dan Tatasusunan Java” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus Pengaturcaraan Fungsian Clojure dan Pembangunan Bahagian Belakang JVM, tingkat taraf kepada CoddyKit PRO. Kursus Pengaturcaraan Fungsian Clojure dan Pembangunan Bahagian Belakang JVM merangkumi sejumlah 4 pelajaran.
Apakah yang akan saya pelajari dalam “Bekerja dengan Koleksi dan Tatasusunan Java”?
Saling kendali sering bermaksud merentas antara koleksi tidak berubah Clojure dan koleksi boleh berubah Java. Pelajaran ini mengajar penukaran, pengulangan dan pengendalian tatasusunan primitif darip… Anda berlatih Pengaturcaraan Fungsian Clojure dan Pembangunan Bahagian Belakang JVM menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.
Adakah saya memerlukan pengalaman untuk memulakan Pengaturcaraan Fungsian Clojure dan Pembangunan Bahagian Belakang JVM?
Tiada pengalaman terdahulu diperlukan. Pembelajaran Pengaturcaraan Fungsian Clojure dan Pembangunan Bahagian Belakang JVM di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 4 daripada 4.
Berapa lamakah pelajaran “Bekerja dengan Koleksi dan Tatasusunan Java” diambil?
Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.
Bolehkah saya menulis dan menjalankan kod dalam pelajaran Pengaturcaraan Fungsian Clojure dan Pembangunan Bahagian Belakang JVM ini?
Ya. Setiap pelajaran Pengaturcaraan Fungsian Clojure dan Pembangunan Bahagian Belakang JVM menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.
Semua pelajaran dalam kursus ini
- Memanggil Java daripada Clojure
- Melaksanakan Antara Muka Java
- Memanfaatkan Pustaka dan Alat Java
- Bekerja dengan Koleksi dan Tatasusunan Java