Java含自己的總結(jié):集合,學(xué)生,遍歷,ArrayList,Set,Map,泛型,班級,發(fā)牌—詩書畫唱

聲明一個ArrayList,存儲一條學(xué)生信息,內(nèi)容為??1????張三???22????男,將信息進行遍歷出來

package list;
import java.util.ArrayList;
import java.util.Iterator;
public class student{
public static void main(String[] args) {
ArrayList jiHe = new ArrayList();
xueSheng xueSheng1 = new xueSheng(1,"張三",22,"男");
jiHe.add(xueSheng1);
for (int i = 0; i < jiHe.size(); i++) {
System.out.println(jiHe.get(i).toString());
}
}
}class xueSheng{
int bianhao;String name;int age;String sex;
public xueSheng(int bianhao, String name, int age, String sex) {
super();
this.bianhao = bianhao;
this.name = name;
this.age = age;
this.sex = sex;
}
@Override
public String toString() {
return "xueSheng [bianhao=" + bianhao + ", name=" + name + ", age="
+ age + ", sex=" + sex + "]";
}
}


聲明一個學(xué)生類,包含編號,名稱,年齡,和性別屬性,
實例化5名學(xué)生對象,將其保存在Set集合中,設(shè)置Set集合的泛型為SetXueSheng,遍歷該Set集合



package list;
import java.util.*;
import java.util.Map.Entry;
public class set {
public static void main(String[] args) {
HashSet<SetXueSheng> jiHe=new HashSet<SetXueSheng>();
SetXueSheng duiXiang1=new SetXueSheng(1,"詩書三連",18,"男");
SetXueSheng duiXiang2=new SetXueSheng(2,"畫唱點贊",19,"男");
SetXueSheng duiXiang3=new SetXueSheng(3,"詩書關(guān)注",20,"男");
SetXueSheng duiXiang4=new SetXueSheng(4,"畫唱收藏",21,"男");
SetXueSheng duiXiang5=new SetXueSheng(5,"詩書畫唱",22,"男");
jiHe.add(duiXiang1);
// 第一個都要先放到集合中,之后才用Collections.addAll的方法。
// 自己總結(jié)的語法:Collections.addAll(集合名,對象名1,對象名2,......)
Collections.addAll(jiHe,duiXiang2,duiXiang3,duiXiang4,duiXiang5);
for(SetXueSheng i:jiHe){
System.out.println(i);
}
}
}
class SetXueSheng{
public int bianhao;
public String name;
public int age;
public String sex;
public SetXueSheng(int bianhao, String name, int age, String sex) {
// super();可寫可不寫,因為沒寫父類,所以super();沒作用,也沒影響
this.bianhao = bianhao;
this.name = name;
this.age = age;
this.sex = sex;
}
@Override
public String toString() {
return "SetXueSheng [bianhao=" + bianhao?
+ ", name=" + name + ", age="
+ age + ", sex=" + sex + "]";
}
}


聲明一個Map集合,設(shè)置泛型鍵為String,值為學(xué)生類,
將題2中的學(xué)生類保存在Map集合中,遍歷該Map集合
package list;
import java.util.*;
import java.util.Map.Entry;
public class map {
public static void main(String[] args) {
Map<String,studentMapClass> MapJiHe=
new HashMap<String, studentMapClass>();
// 自己總結(jié)的語法:Map<數(shù)據(jù)類型,studentMapClass> 集合名=
// new HashMap<數(shù)據(jù)類型, 類名>();
studentMapClass duiXiang1=new studentMapClass(1,"詩書畫唱",19,"男");
studentMapClass duiXiang2=new studentMapClass(2,"三連",20,"男");
studentMapClass duiXiang3=new studentMapClass(3,"關(guān)注",21,"男");
studentMapClass duiXiang4=new studentMapClass(4,"收藏",22,"男");
studentMapClass duiXiang5=new studentMapClass(5,"寶藏",23,"男");
// 集合名.put(鍵(對應(yīng)的數(shù)據(jù)類型的具體數(shù)據(jù)),值(對象名等));
MapJiHe.put("1",duiXiang1);MapJiHe.put("2",duiXiang2);
MapJiHe.put("3",duiXiang3);
MapJiHe.put("4",duiXiang4);MapJiHe.put("5",duiXiang5);
Iterator<Entry<String, studentMapClass>> dieDaiQi
=MapJiHe.entrySet().iterator();
//iterator
//[詞典] 【計】迭代器,迭代程序;
//Iterator(迭代器)是一個接口,它的作用就是遍歷容器的所有元素。
//Iterator iter = list.iterator(); // 注意iterator,首字母小寫
while(dieDaiQi.hasNext()){
Entry<String, studentMapClass> rongQi
=dieDaiQi.next();
// entry 英[?entri]
// 美[?entri]
// n. 進入(指行動); 進入(指權(quán)利等); 參與,加入(指權(quán)利、機會);
System.out.println("鍵為"+rongQi.getKey()
+";值為"+rongQi.getValue());
}
}
}
class studentMapClass{
public int bianhao;
public String name;
public int age;
public String sex;
public studentMapClass(int bianhao,?
String name, int age, String sex) {
// super();
this.bianhao = bianhao;
this.name = name;
this.age = age;
this.sex = sex;
}
@Override
public String toString() {
return "studentMapClass [bianhao=" + bianhao + ", name=" + name
+ ", age=" + age + ", sex=" + sex + "]";
}
}


聲明個map集合,設(shè)置鍵為班級名稱String,值為每個班級的所有學(xué)生信息ArrayList,用來存儲各個班級的學(xué)生信息,存儲3個班級的學(xué)生信息,并遍歷該map集合

package list;
import java.util.*;
import java.util.Map.Entry;
public class mapArrayList {
public static void main(String[] args) {
//可以用"//————————"來當(dāng)分割線,分層,更容易看懂等
//自己的總結(jié):先聲明一個HashMap集合
//再聲明3個ArrayList集合,最后用上
//HashMap集合名.put(鍵(這里聲明為String的內(nèi)容),ArrayList集合名);
HashMap<String,ArrayList<studentMapArrayListClass>> HashMapJiHe
=new HashMap<String, ArrayList<studentMapArrayListClass>>();
//————————————————————————————————————————————————————————
ArrayList<studentMapArrayListClass> ArrayListJiHe1
=new ArrayList<studentMapArrayListClass>();//X班
studentMapArrayListClass duiXiang1=
new studentMapArrayListClass(1, "雙笙",18,"女");
studentMapArrayListClass duiXiang2=
new studentMapArrayListClass(2, "就是哈比",18,"女");
studentMapArrayListClass duiXiang3=
new studentMapArrayListClass(3, "諾鴿鴿",18,"女");
ArrayListJiHe1.add(duiXiang1);ArrayListJiHe1.add(duiXiang2);
ArrayListJiHe1.add(duiXiang3);
//——————————————————————————————————————————————————————————————————
ArrayList<studentMapArrayListClass> ArrayListJiHe2
=new ArrayList<studentMapArrayListClass>();//XX班
studentMapArrayListClass duiXiang11=
new studentMapArrayListClass(11, "封茗囧茵",18,"女");
studentMapArrayListClass duiXiang22=
new studentMapArrayListClass(22, "等人",18,"男");
studentMapArrayListClass duiXiang33=
new studentMapArrayListClass(33, "都會",18,"男");
ArrayListJiHe2.add(duiXiang11);
ArrayListJiHe2.add(duiXiang22);ArrayListJiHe2.add(duiXiang33);
//————————————————————————————————————————————————————————————————
ArrayList<studentMapArrayListClass> ArrayListJiHe3
=new ArrayList<studentMapArrayListClass>();//XXX班
studentMapArrayListClass duiXiang111=
new studentMapArrayListClass(111, "未來成為",18,"男");
studentMapArrayListClass duiXiang222=
new studentMapArrayListClass(222, "我詩書",18,"男");
studentMapArrayListClass duiXiang333=
new studentMapArrayListClass(333, "畫唱后宮",18,"男");
ArrayListJiHe3.add(duiXiang111);
ArrayListJiHe3.add(duiXiang222);
ArrayListJiHe3.add(duiXiang333);
//——————————————————————————————————————————————————
HashMapJiHe.put("X班",ArrayListJiHe1);HashMapJiHe.put("XX班",ArrayListJiHe2);
HashMapJiHe.put("XXX班",ArrayListJiHe3);
//————————————————————————————————————————————————
//聲明Iterator的自己總結(jié)的語法
//:Iterator<Entry<設(shè)置的對應(yīng)的數(shù)據(jù)類型, ArrayList<類名>>> Iterator名
//= HashMap集合名.entrySet().iterator();
//
//多找到,想到并且記錄等
//自己和別人容易理解,熟悉的,
//將其比作自己和別人容易理解,熟悉的。這樣可以更好的記憶,理解,
//認(rèn)為懂了和獲得我們大多人定義的真正的懂了。很多東西等都是被定義的,本身并不存在
//所有的班級和學(xué)生等的內(nèi)容會因為聲明了Iterator,而被裝到Iterator里面,
//
//Iterator等就像一個水杯,內(nèi)容就像水,聲明Iterator就像把水倒進水杯中
//而用hasNext()等來遍歷Iterator就像把水從水杯中到倒出來
Iterator<Entry<String, ArrayList<studentMapArrayListClass>>> allneiRongIteratorName
= HashMapJiHe.entrySet().iterator();
//自己總結(jié)的遍歷Iterator的語法:
//while(Iterator名.hasNext()){
//}
while(allneiRongIteratorName.hasNext()){
// 聲明一個Entry的自己總結(jié)的語法:
// Entry<設(shè)置的對應(yīng)的數(shù)據(jù)類型, ArrayList<類名>> Entry名
// =Iterator名.next();
Entry<String, ArrayList<studentMapArrayListClass>> EntryName
=allneiRongIteratorName.next();
//用.next()得到下一條String類型的數(shù)據(jù)
System.out.println("班級為"+EntryName.getKey());
System.out.println("具體的學(xué)生信息為");
//這里情形的自己總結(jié)的for遍歷集合的語法:
// Entry名.getValue()這里為ArrayList集合
// for(類名 要打印的內(nèi)容名:集合或集合名){
// System.out.println(要打印的內(nèi)容名);
// }
for(studentMapArrayListClass valueNeiRong:EntryName.getValue()){
System.out.println(valueNeiRong);
}
}
}
}
//——————————————————————————————————————
class studentMapArrayListClass{
public int bianhao;
public String name;
public int age;
public String sex;
public studentMapArrayListClass(int bianhao, String name, int age,
String sex) {
super();
this.bianhao = bianhao;
this.name = name;
this.age = age;
this.sex = sex;
}
@Override
public String toString() {
return "studentMapClass [bianhao=" + bianhao + ", name=" + name
+ ", age=" + age + ", sex=" + sex + "]";
}
}


制作撲克牌發(fā)牌案例

package list;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Random;
public class douDiZhuFaPaiTi5 {
public static void main(String[] args) {
String[] Stringchucundepai = new String[] { "?A", "?2", "?3", "?4",
"?5", "?6", "?7", "?8", "?9", "?10", "?J", "?Q", "?K", "?A",
"?2", "?3", "?4", "?5", "?6", "?7", "?8", "?9", "?10", "?J",
"?Q", "?K", "?A", "?2", "?3", "?4", "?5", "?6", "?7", "?8",
"?9", "?10", "?J", "?Q", "?K", "?A", "?2", "?3", "?4", "?5",
"?6", "?7", "?8", "?9", "?10", "?J", "?Q", "?K" };
HashMap<String, Integer> HSchucundejiadepai = new HashMap<>();
HashMap<String, Integer> HSchucundeyidepai = new HashMap<>();
HashMap<String, Integer> HSchucundebingdepai = new HashMap<>();
ArrayList<String> yongALchucundeshuju = new ArrayList<String>();
for (int i = 0; i < Stringchucundepai.length; i++) {
yongALchucundeshuju.add(Stringchucundepai[i]);
}
yongALchucundeshuju.add("大王");
yongALchucundeshuju.add("小王");
Random suijishu = new Random();
String fangzidawangxiaowangchongfu = null;
for (int k = 0; k < 100; k++) {
int zongpaishu = yongALchucundeshuju.size();
int yongRandomdedaodesuijishu1 = suijishu.nextInt(zongpaishu);
int yongRandomdedaodesuijishu2 = suijishu.nextInt(zongpaishu);
if (yongRandomdedaodesuijishu1 == yongRandomdedaodesuijishu2)
continue;
{
fangzidawangxiaowangchongfu = yongALchucundeshuju
.get(yongRandomdedaodesuijishu1);
yongALchucundeshuju.set(yongRandomdedaodesuijishu1,
yongALchucundeshuju.get(yongRandomdedaodesuijishu2));
yongALchucundeshuju.set(yongRandomdedaodesuijishu2,
fangzidawangxiaowangchongfu);
}
}
ArrayList<String> yongALchucundejiadepai = new ArrayList<String>();
ArrayList<String> yongALchucundeyidedepai = new ArrayList<String>();
ArrayList<String> yongALchucundebingdepai = new ArrayList<String>();
ArrayList<String> yongALchucundedipai = new ArrayList<String>();
for (int i = 0; i < yongALchucundeshuju.size(); i++) {
if (i >= yongALchucundeshuju.size() - 3) {
yongALchucundedipai.add(yongALchucundeshuju.get(i));
} else if (i % 3 == 0) {
yongALchucundejiadepai.add(yongALchucundeshuju.get(i));
} else if (i % 3 == 1) {
yongALchucundeyidedepai.add(yongALchucundeshuju.get(i));
} else if (i % 3 == 2) {
yongALchucundebingdepai.add(yongALchucundeshuju.get(i));
}
}
System.out.println("底牌:" + yongALchucundedipai);
System.out.println("甲被發(fā)到的牌:" + yongALchucundejiadepai);
System.out.println("乙被發(fā)到的牌:" + yongALchucundeyidedepai);
System.out.println("丙被發(fā)到的牌:" + yongALchucundebingdepai);
}
}


