欢迎光临散文网 会员登陆 & 注册

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

2020-07-07 15:39 作者:诗书画唱  | 我要投稿

声明一个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);




}


}





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

分享到微博请遵守国家法律