Koleksi antarmuka root dalam hierarki. Koleksi mewakili satu set objek, juga disebut elemen koleksi. Beberapa koleksi memungkinkan elemen duplikat, sementara yang lain tidak. Beberapa koleksi dipesan, sementara yang lain tidak teratur. JDK tidak memberikan implementasi langsung dari antarmuka ini: ia menyediakan subinterfaces yang lebih spesifik (seperti set dan daftar) implementasi. Antarmuka ini biasanya digunakan untuk melewati koleksi dan mengoperasikan koleksi ini di mana universalitas maksimum diperlukan.
Konten Utama: Di sini kami menggunakan koleksi koleksi untuk mensimulasikan permainan poker yang dimainkan oleh orang -orang besar di film Hong Kong.
1. Aturan Game: Masing -masing dari dua pemain menangani dua kartu di tangan mereka dan membandingkannya. Bandingkan poin maksimum dari kartu masing-masing pemain, ukurannya A-2, yang dengan poin terbesar menang. Jika titik -titiknya sama, warna jas dibandingkan, ukurannya hitam (4), merah (3), prem (2), persegi (1), dan warna jas adalah pemenangnya.
2. Langkah Implementasi:
Buat setumpuk kartu bermain A-2, dengan empat warna hitam (4), merah (3), prem (2), dan persegi (1) dengan total 52 kartu;
Buat dua pemain termasuk ID pemain dan nama dan informasi kartu berlisensi;
Kocok kartu dan berikan dua kartu untuk kedua pemain;
Bandingkan ukuran kartu di tangan pemain untuk mendapatkan pemenang;
3. Implementasi Program
Kategori Kartu: Berisi angka dan warna kartu
Paket CollectionTest.games; Kartu Kelas Publik {Private Integer ID; // Ukuran Jenis Integer Pribadi Kartu; // Warna Kartu Kartu Publik (ID Integer, Jenis Integer) {this.id = id; this.type = type; } public integer getId () {return id; } public void setid (integer id) {this.id = id; } public integer getType () {return type; } public void setType (integer type) {this.type = type; } @Override Public String ToString () {return "card [id =" + id + ", type =" + type + "]"; }} Kelas Poker Poker: Termasuk Kartu Poker A-2
Paket CollectionTest.games; Public Class Poker {Private Card ID2; ID3 kartu pribadi; Kartu Pribadi ID4; Kartu Pribadi ID5; Kartu Pribadi ID6; Kartu Pribadi ID7; ID8 kartu pribadi; Kartu Pribadi ID9; kartu pribadi ID10; kartu pribadi j; kartu pribadi q; kartu pribadi k; kartu pribadi A; poker publik () {} // Empat Jenis: Black-4, Red-3, Plum-2, Square-1 Public Poker (Tipe Integer) {this.id2 = kartu baru (2, type); this.id3 = kartu baru (3, ketik); this.id4 = kartu baru (4, ketik); this.id5 = kartu baru (5, type); this.id6 = kartu baru (6, ketik); this.id7 = kartu baru (7, ketik); this.id8 = kartu baru (8, ketik); this.id9 = kartu baru (9, ketik); this.id10 = kartu baru (10, ketik); this.j = kartu baru (11, ketik); this.q = kartu baru (12, type); this.k = kartu baru (13, ketik); this.a = kartu baru (14, ketik); } kartu publik getId2 () {return id2; } public void setid2 (kartu id2) {this.id2 = id2; } kartu publik getId3 () {return id3; } public void setId3 (kartu id3) {this.id3 = id3; } kartu publik getId4 () {return id4; } public void setid4 (kartu id4) {this.id4 = id4; } kartu publik getId5 () {return id5; } public void setId5 (kartu id5) {this.id5 = id5; } kartu publik getId6 () {return id6; } public void setid6 (kartu id6) {this.id6 = id6; } kartu publik getId7 () {return id7; } public void setid7 (kartu id7) {this.id7 = id7; } kartu publik getId8 () {return id8; } public void setid8 (kartu id8) {this.id8 = id8; } kartu publik getId9 () {return id9; } public void setid9 (kartu id9) {this.id9 = id9; } kartu publik getId10 () {return id10; } public void setId10 (kartu id10) {this.id10 = id10; } kartu publik getj () {return j; } public void setj (kartu j) {j = j; } kartu publik getQ () {return q; } public void setq (kartu q) {q = q; } kartu publik getk () {return k; } public void setK (kartu k) {k = k; } kartu publik geta () {return a; } public void seta (kartu a) {a = a; }} Kelas pemain: berisi ID dan nama pemain, informasi kartu yang diadakan
Paket collectionTest.games; import java.util.arraylist; import java.util.list; class class player {// id player id pribadi string id; // nama pemutar nama string pribadi; // Lisensi Pemain yang dipegang oleh Daftar Pribadi Pemain <Dard> Pokertype; player publik () {} player publik (ID string, nama string, Daftar <ward> pokertype) {this.id = id; this.name = name; this.pokertype = new ArrayList <> (); } public String getId () {return id; } public void setId (string id) {this.id = id; } public string getName () {return name; } public void setName (name string) {this.name = name; } Daftar Publik <Dard> getPokerType () {return pokertype; } public void setPokerType (Daftar <Dard> pokertype) {this.pokertype = pokertype; }} Game Poker Kategori Utama: Termasuk 1) Kreasi Poker 2) Penciptaan Pemain 3) menyusut 4) Diskon 5) Bandingkan pemenang dan kerugian
Paket CollectionTest.games; impor java.util.arraylist; impor java.util.arrays; impor java.util.collections; impor java.util.hashmap; java.util.hashset; impor java.util.list; impor java.util.maap; impor java. GAMSBEGIN {// Buat kartu bermain set publik <Poker> cpoker () {System.out.println ("************ Mulailah membuat kartu poker **********"); // Buat setumpuk poker // Empat Jenis: Black-4, Red-3, Plum-2, Square-1 Set <Poker> pokers = hashset baru <> (); Poker [] poker = {poker baru (1), poker baru (2), poker baru (3), poker baru (4)}; /** Penggunaan Kelas Alat Koleksi* Collections.Addall (Pokers, Poker Baru (1), Poker Baru (2), Poker Baru (3), Poker Baru (4)); * * */ pokers.addall (arrays.aslist (poker)); System.out.println ("**************** Pembuatan kartu poker berhasil ****************"); kembalikan Pokers; } // Buat dua pemain peta publik <string, player> cPlayer () {System.out.println ("************ Mulai membuat pemain **************"); Peta <string, player> peta = hashmap baru <string, player> (); // Kontrol Kontrol Integer Nomor = 0; System.out.println ("Buat dua pemain, buat sesuai dengan prompt"); Pemindai Konsol = Pemindai Baru (System.in); while (true) {System.out.println ("Harap masukkan"+(kontrol+1)+"ID pemain:"); String courseId = console.next (); if (isNumeric (courseId)) {System.out.println ("Harap masukkan"+(kontrol+1)+"nama pemain:"); String coursename = console.next (); Pemain pemain = pemain baru (CourseID, Coursename, Null); // simpan peta data.put (kursus, pemain); System.out.println ("Tambah" + (kontrol + 1) + "Pemain" + Coursename + "Sukses"); // tambahkan kontrol ++ dengan angka; } else {System.out.println ("****** Harap masukkan ID numerik *******"); melanjutkan; } if (control == 2) {break; }} System.out.println ("************ Pemain Dibuat dengan sukses ****************"); peta mengembalikan; } // Tentukan apakah inputnya adalah angka, karakter.isdigit () adalah metode java boolean public isnumeric (string str) {for (int i = 0; i <str.length (); i ++) {if (! Character.isdigit (str.charat (i))) {return false; }} return true; } / ***Shuffle: 52 Nomor acak yang berbeda juga dapat dihasilkan untuk mencapai shuffle*** / Daftar publik <ward> wpoker (set <poker> pokers) {System.out.println ("********* Mulai shuffle **********"); // Gunakan jenis daftar yang tertib, dan simpan pesanan setelah shuffle. Daftar <Dard> listCard = ArrayList baru <> (); // Gunakan semacam set yang tidak terdaftar set untuk mencapai set shuffle <card> listset = hashset baru <> (); // Simpan ke Set Set, Unordered untuk (poker PK: Pokers) {listset.add (pk.getid2 ()); listset.add (pk.getid3 ()); listset.add (pk.getid4 ()); listset.add (pk.getid5 ()); listset.add (pk.getid5 ()); listset.add (pk.getid6 ()); listset.add (pk.getid7 ()); listset.add (pk.getid8 ()); listset.add (pk.getid9 ()); listset.add (pk.getid10 ()); listset.add (pk.getj ()); listset.add (pk.getq ()); listset.add (pk.getk ()); listset.add (pk.getk ()); listset.add (pk.geta ()); } // Simpan dalam koleksi daftar, dipesan untuk (kartu cd: listset) {listcard.add (cd); System.out.println (CD); } System.out.println ("******************* berhasil mengubah **********"); kartu daftar kembali; } // Menangani peta publik <string, player> pushpoker (Daftar <Dard> ListCard, peta <String, player> pmap) {System.out.println ("********************* Take Deal **************"); // Kontrol setiap orang untuk menangani dua kartu int control = 0; untuk (map.entry <string, player> entri: pmap.entryset ()) {if (control == 0) {for (int i = 0; i <3; i = i + 2) {// entri distribusi.getValue (). getPokertype (). add (listCard.get (i)); } // Perbarui peta objek pmap.put (entri.getKey (), entri.getValue ()); kontrol ++; } else if (control == 1) {for (int i = 1; i <4; i = i + 2) {// distribusi entri.getValue (). getPokerType (). Tambah (listCard.get (i)); } // Perbarui peta objek pmap.put (entri.getKey (), entri.getValue ()); kontrol ++; } else {break; }} System.out.println ("**************** Kesepakatan Sukses **********"); mengembalikan pmap; } public void compareMatch (peta <string, player> newMap) { /* Bandingkan kemenangan dan kerugian* 1. Pertama dapatkan ID dan setelan ID kartu terbesar di tangan masing -masing pemain. * 2. Bandingkan ukuran ID dari kartu terbesar di tangan dua pemain, dan yang lebih besar menang. * 3. Jika ID dari kedua kartu tersebut sama, ketika membandingkan ID jas dari dua kartu, ID setel akan lebih besar dan kemenangan akan dicapai. * * */ Daftar <layer> pemain = ArrayList baru <> (); // Dapatkan dua pemain untuk (map.entry <string, player> entri: newmap.entryset ()) {playes.add (entry.getValue ()); } // Player One Informasi dan Daftar Lisensi <Dard> playone = player.get (0) .getPokerType (); // Dapatkan ID dan gugatan dari integer kartu terbesar onemaxid = math.max (playerOne.get (0) .getId (), playerOne.get (1) .getId ()); Integer onemaxtype = (onemaxid! = PlayerOne.get (0) .getId ())? playerOne.get (1) .getType (): playerOne.get (0) .getType (); // Player Dua Informasi dan Daftar Lisensi <Dard> playertwo = player.get (1) .getPokerType (); // Dapatkan ID dan gugatan kartu terbesar integer twomaxid = math.max (playertwo.get (0) .getId (), playertwo.get (1) .getId ()); Integer twomaxtype = (twomaxid! = Playertwo.get (0) .getId ())? playertwo.get (1) .getType (): playertwo.get (0) .getType (); if (onemaxid> twomaxid) {system.out.println ("player:" + player.get (0) .getName () + "win !!"); } else if (onemaxid == twomaxid) {if (onemaxtype> twomaxtype) {system.out.println ("player:" + player.get (0) .getName () + "win !!"); } else {System.out .println ("player:" + player.get (1) .getName () + "win!!"); }} else {System.out.println ("player:" + player.get (1) .getName () + "win !!"); } System.out.println ("*********************************************************"); System.out.println ("Player:" + Player.get (0) .getName () + "Kartu" adalah: " + ditampilkan (playerOne.get (0) .getType (), 0) +"-" + Ditampilkan (playerOne.get (0) .getID (), 1) +" + " +" +ameame (playerone.get (1) (0) .getID (), 1), + " +" + " +" +ameame (playerone.get (1). showame (playerOne.get (1) .getid (), 1)); ditampilkan (playertwo.get (1) .getType (), 0) + "-" + ditampilkan (playertwo.get (1) .getId (), 1)); } // Nama Kartu Tampilan String Private String yang Ditampilkan (Integer I, Integer Type) {String str = ""; // tunjukkan setelan if (type == 0) {switch (i) {case 1: {str = "cube"; merusak; } case 2: {str = "plum blossom"; merusak; } case 3: {str = "heart"; merusak; } case 4: { str = "str = "Spads"; break; } default: { break; } } } // Show the number if (type == 1) { if (i < 11) { return i.toString(); } else { switch (i) { case 11: { str = "J"; break; } case 12: { str = "Q"; break; } case 13: { str = "K"; break; GB.cplayer (); Hasil Menjalankan:
********* Mulai membuat kartu poker **********
************* Kreasi kartu poker berhasil *************
********* Mulai membuat pemain *************
Untuk membuat dua pemain, silakan masukkan ID pemain pertama sesuai dengan petunjuknya:
Harap masukkan nama pemain pertama:
Stephen Chow menambahkan pemain pertama. Stephen Chow berhasil. Harap masukkan ID pemain kedua:
Harap masukkan nama pemain kedua:
Chow Yun-Fat menambahkan pemain kedua, Chow Yun-Fat berhasil
********** Kreasi pemain berhasil *************
************ Mulai shuffle **********
Kartu [id = 9, type = 3]
Kartu [id = 11, ketik = 4]
Kartu [id = 13, ketik = 3]
Kartu [id = 8, type = 3]
Kartu [id = 5, type = 2]
Kartu [id = 6, ketik = 1]
Kartu [id = 4, type = 3]
Kartu [id = 5, ketik = 4]
Kartu [id = 2, type = 3]
Kartu [id = 9, type = 2]
Kartu [id = 9, type = 4]
Kartu [id = 14, ketik = 2]
Kartu [id = 9, type = 1]
Kartu [id = 2, ketik = 1]
Kartu [id = 2, ketik = 4]
Kartu [id = 7, ketik = 4]
Kartu [id = 11, ketik = 1]
Kartu [id = 10, ketik = 1]
Kartu [id = 14, ketik = 4]
Kartu [id = 14, ketik = 3]
Kartu [id = 12, type = 2]
Kartu [id = 2, type = 2]
Kartu [id = 10, ketik = 2]
Kartu [id = 7, ketik = 1]
Kartu [id = 7, type = 3]
Kartu [id = 8, type = 2]
Kartu [id = 4, ketik = 4]
Kartu [id = 13, ketik = 4]
Kartu [id = 14, ketik = 1]
Kartu [id = 12, ketik = 1]
Kartu [id = 5, ketik = 1]
Kartu [id = 6, ketik = 4]
Kartu [id = 12, ketik = 4]
Kartu [id = 11, ketik = 2]
Kartu [id = 10, type = 3]
Kartu [id = 3, ketik = 4]
Kartu [id = 12, type = 3]
Kartu [id = 4, type = 2]
Kartu [id = 4, ketik = 1]
Kartu [id = 6, type = 2]
Kartu [id = 5, type = 3]
Kartu [id = 8, ketik = 4]
Kartu [id = 3, ketik = 2]
Kartu [id = 13, ketik = 2]
Kartu [id = 7, type = 2]
Kartu [id = 3, type = 3]
Kartu [id = 3, ketik = 1]
Kartu [id = 6, type = 3]
Kartu [id = 8, ketik = 1]
Kartu [id = 11, ketik = 3]
Kartu [id = 13, ketik = 1]
Kartu [id = 10, ketik = 4]
************* perombakan sukses **********
************* Tawaran biaya dimulai ************
************* kesepakatan sukses *************
Pemain: Stephen Chow menang! Lai
*************************************************
Pemain: Kartu Stephen Chow adalah: Red Peach-9 Peach-K Merah
Pemain: Kartu Chow Yun-Fat adalah: Spades-J Red-8
Di atas adalah semua konten artikel ini. Saya berharap ini akan membantu untuk pembelajaran semua orang dan saya harap semua orang akan lebih mendukung wulin.com.