Java含自己的总结:集合,学生,遍历,ArrayList,Set,Map,泛型,班级,发牌—诗书画唱

声明一个ArrayList,存储一条学生信息,内容为 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 + "]";
}
}


声明一个学生类,包含编号,名称,年龄,和性别属性,
实例化5名学生对象,将其保存在Set集合中,设置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,"诗书关注",20,"男");
SetXueSheng duiXiang4=new SetXueSheng(4,"画唱收藏",21,"男");
SetXueSheng duiXiang5=new SetXueSheng(5,"诗书画唱",22,"男");
jiHe.add(duiXiang1);
// 第一个都要先放到集合中,之后才用Collections.addAll的方法。
// 自己总结的语法: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集合,设置泛型键为String,值为学生类,
将题2中的学生类保存在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>();
// 自己总结的语法:Map<数据类型,studentMapClass> 集合名=
// new HashMap<数据类型, 类名>();
studentMapClass duiXiang1=new studentMapClass(1,"诗书画唱",19,"男");
studentMapClass duiXiang2=new studentMapClass(2,"三连",20,"男");
studentMapClass duiXiang3=new studentMapClass(3,"关注",21,"男");
studentMapClass duiXiang4=new studentMapClass(4,"收藏",22,"男");
studentMapClass duiXiang5=new studentMapClass(5,"宝藏",23,"男");
// 集合名.put(键(对应的数据类型的具体数据),值(对象名等));
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. 进入(指行动); 进入(指权利等); 参与,加入(指权利、机会);
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集合,设置键为班级名称String,值为每个班级的所有学生信息ArrayList,用来存储各个班级的学生信息,存储3个班级的学生信息,并遍历该map集合

package list;
import java.util.*;
import java.util.Map.Entry;
public class mapArrayList {
public static void main(String[] args) {
//可以用"//————————"来当分割线,分层,更容易看懂等
//自己的总结:先声明一个HashMap集合
//再声明3个ArrayList集合,最后用上
//HashMap集合名.put(键(这里声明为String的内容),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的自己总结的语法
//:Iterator<Entry<设置的对应的数据类型, ArrayList<类名>>> Iterator名
//= HashMap集合名.entrySet().iterator();
//
//多找到,想到并且记录等
//自己和别人容易理解,熟悉的,
//将其比作自己和别人容易理解,熟悉的。这样可以更好的记忆,理解,
//认为懂了和获得我们大多人定义的真正的懂了。很多东西等都是被定义的,本身并不存在
//所有的班级和学生等的内容会因为声明了Iterator,而被装到Iterator里面,
//
//Iterator等就像一个水杯,内容就像水,声明Iterator就像把水倒进水杯中
//而用hasNext()等来遍历Iterator就像把水从水杯中到倒出来
Iterator<Entry<String, ArrayList<studentMapArrayListClass>>> allneiRongIteratorName
= HashMapJiHe.entrySet().iterator();
//自己总结的遍历Iterator的语法:
//while(Iterator名.hasNext()){
//}
while(allneiRongIteratorName.hasNext()){
// 声明一个Entry的自己总结的语法:
// Entry<设置的对应的数据类型, ArrayList<类名>> Entry名
// =Iterator名.next();
Entry<String, ArrayList<studentMapArrayListClass>> EntryName
=allneiRongIteratorName.next();
//用.next()得到下一条String类型的数据
System.out.println("班级为"+EntryName.getKey());
System.out.println("具体的学生信息为");
//这里情形的自己总结的for遍历集合的语法:
// Entry名.getValue()这里为ArrayList集合
// for(类名 要打印的内容名:集合或集合名){
// System.out.println(要打印的内容名);
// }
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 + "]";
}
}


制作扑克牌发牌案例

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("甲被发到的牌:" + yongALchucundejiadepai);
System.out.println("乙被发到的牌:" + yongALchucundeyidedepai);
System.out.println("丙被发到的牌:" + yongALchucundebingdepai);
}
}


