栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

SCNU

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SCNU

集合 作业

设计一个User类,保护三个基本私有属性 : String id; String name;String gender;以及三个属性的setter与getter方法,重新类的toStrng方法,toString方法输出对象的属性。

使用for循环创建 50个User对象,创建用户对象时,使用 “emp”+r.nextInt(100) 产生用户的id,gender和name随意,分别把用户存入到 ArrayList ,HashSet,以及map中,要求id作为用户的唯一性标识存入到集合中(即同一个集合和map中不能存在相同id的用户)

分别使用 迭代器 和for循环机增强for循环,输出集合中用户的属性信息。

(注:r 时一个 Random类的实例)

这是模仿的前辈的作业

观摩前辈的作业,然后自己慢慢琢磨,有些许删改

建立User类

package theme_6;

import java.util.Objects;

public class User {

	private String id;
	private String name;
	private String gender;
	public User(String id, String name, String gender) {
		// TODO Auto-generated constructor stub
		super();
		this.id = id;
		this.name = name;
		this.gender  = gender;
	}
	@Override
	public String toString() {
		return "User [id=" + id + ", name=" + name + ", gender=" + gender + "]";
	}
	@Override
	public int hashCode() {
		return Objects.hash(gender, id, name);
	}
	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		User other = (User) obj;
		return Objects.equals(gender, other.gender) && Objects.equals(id, other.id) && Objects.equals(name, other.name);
	}
	public String getId() {
		return id;
	}
	public void setId(String id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getGender() {
		return gender;
	}
	public void setGender(String gender) {
		this.gender = gender;
	}

}

建立UserTest类

package theme_6;


import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Random;
import java.util.Set;

public class UserTest {

	public static void main(String[] args) {
		Random r = new Random();//建立一个随机数
		User[] myUser = new User[50];//建立一个数组
		List myArrayList = new ArrayList<>();//建立三种列表
		Set myHashSet = new HashSet<>();
		Map myHashMap = new HashMap<>();
		
		for(int i=0; i<50; i++) {//录入数据到三种列表中
			myUser[i] = new User("emp"+r.nextInt(100), "HL_WEI", "man");
			myArrayList.add(myUser[i]);
			myHashSet.add(myUser[i]);
			myHashMap.put(myUser[i].getId(), myUser[i]);
		}
		
		System.out.println("for循环myArrayList:");
		for(int i=0; i<50; i++) {
			System.out.println(myArrayList.get(i));//get(i)是输出表格中第几个toString
		}
		System.out.println("结束");
		
		System.out.println("迭代器myArrayList:");
		Iterator it1 = myArrayList.iterator();//建立一个迭代器
		while(it1.hasNext()) {//如果有下一个元素,就输出
			User myuser = (User)it1.next();//强制转化下一个元素为User类型
			System.out.println(myuser);
		}
		System.out.println("结束");
		
		System.out.println("遍历myHashSet");
		Iterator it2 = myHashSet.iterator();
		while(it2.hasNext()) {
			User myuser = (User)it2.next();
			System.out.println(myuser);
		}
		System.out.println("结束");
		
		System.out.println("遍历myHashMap");
		Set key = myHashMap.keySet();//建立一个key
		Iterator it3 = key.iterator();//从key中引用出迭代器
		while(it3.hasNext()) {//HashMap的要有id,下一个元素先是id
			String myid = (String)it3.next();//这里先强制转化下个元素(id)为String类型
			User myuser = (User)myHashMap.get(myid);//get到id即get到用户的数据,即User数组中的对应id的那一个
			System.out.println(myuser);
		}
		System.out.println("结束");
		
	}
	


}

Ps:我这是拙劣的“抄袭”,大家别模仿,完成学校的作业罢了

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/348940.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号