Java容器ArrayList作为某类的属性,类的多个对象如何添加或调用ArrayList中的类容
(1)有如下类:EthnicGroup{Stringname;//民族民称intnum;//该民族人口}classProvince{Stringname;//省份名int...
(1)有如下类:
EthnicGroup
{
String name; // 民族民称
int num; // 该民族人口
}
class Province
{
String name; // 省份名
int population; // 人口数
double area; // 面积
ArrayList<EchnicGroup> echnicGroups; // 民族信息
}
编写程序,新建几个Province对象(每个对象中应添加数个民族信息),将其存放在HashSet中,最后输出所有的Province信息。 展开
EthnicGroup
{
String name; // 民族民称
int num; // 该民族人口
}
class Province
{
String name; // 省份名
int population; // 人口数
double area; // 面积
ArrayList<EchnicGroup> echnicGroups; // 民族信息
}
编写程序,新建几个Province对象(每个对象中应添加数个民族信息),将其存放在HashSet中,最后输出所有的Province信息。 展开
2个回答
推荐于2017-09-11
展开全部
public class EthnicGroup {
private String name; // 民族民称
private int num; // 该民族人口
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getNum() {
return num;
}
public void setNum(int num) {
this.num = num;
}
}
Provinc类
import java.util.ArrayList;
public class Province {
private String name; // 省份名
private int population; // 人口
private double area; // 面积
private ArrayList<EthnicGroup> echnicGroups; // 民族信息
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getPopulation() {
return population;
}
public void setPopulation(int population) {
this.population = population;
}
public double getArea() {
return area;
}
public void setArea(double area) {
this.area = area;
}
public ArrayList<EthnicGroup> getEchnicGroups() {
return echnicGroups;
}
public void setEchnicGroups(ArrayList<EthnicGroup> echnicGroups) {
this.echnicGroups = echnicGroups;
}
}
对对象的操作与调用,输出
import java.util.ArrayList;
import java.util.HashSet;
import java.util.Iterator;
public class Test {
public static void main(String[] args) {
//创建EthnicGroup对象,第一个民族
EthnicGroup group = new EthnicGroup();
group.setName("汉族");//民族名称赋值
group.setNum(30333);//民族人口赋值
//创建EthnicGroup对象,第二个民族
EthnicGroup group2 = new EthnicGroup();
group2.setName("满族");//民族名称赋值
group2.setNum(5666);//民族人口赋值
//创建存放民族信息的list
ArrayList<EthnicGroup> list = new ArrayList<EthnicGroup>();
list.add(group);//将民族对象存放到list中
list.add(group2);//将民族对象存放到list中
//创建Province对象
Province p = new Province();
p.setArea(60000);//面积赋值
p.setName("北京");//省份赋值
p.setPopulation(5200000);//人口赋值
p.setEchnicGroups(list);//民族信息赋值
//创建Province对象
Province p2 = new Province();
p2.setArea(90000);//面积赋值
p2.setName("上海");//省份赋值
p2.setPopulation(1300000);//人口赋值
p2.setEchnicGroups(list);//民族信息赋值
//创建存放Province对象的HashSet
HashSet<Province> set = new HashSet<Province>();
set.add(p2);
set.add(p);
//循环HashSet
Iterator<Province> iterator=set.iterator();
while(iterator.hasNext()){
System.out.println("Province对象");
Province province = iterator.next();
System.out.println("面积:"+province.getArea());
System.out.println("省份:"+province.getName());
System.out.println("人口数:"+province.getPopulation());
ArrayList<EthnicGroup> groups = province.getEchnicGroups();
System.out.println(province.getName()+"下面有"+groups.size()+"个民族");
for (int i = 0; i < groups.size(); i++) {
EthnicGroup ethnicGroup = groups.get(i);
System.out.print(ethnicGroup.getName());
System.out.print(ethnicGroup.getNum()+"\t");
}
System.out.println("\n");
}
}
}
private String name; // 民族民称
private int num; // 该民族人口
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getNum() {
return num;
}
public void setNum(int num) {
this.num = num;
}
}
Provinc类
import java.util.ArrayList;
public class Province {
private String name; // 省份名
private int population; // 人口
private double area; // 面积
private ArrayList<EthnicGroup> echnicGroups; // 民族信息
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getPopulation() {
return population;
}
public void setPopulation(int population) {
this.population = population;
}
public double getArea() {
return area;
}
public void setArea(double area) {
this.area = area;
}
public ArrayList<EthnicGroup> getEchnicGroups() {
return echnicGroups;
}
public void setEchnicGroups(ArrayList<EthnicGroup> echnicGroups) {
this.echnicGroups = echnicGroups;
}
}
对对象的操作与调用,输出
import java.util.ArrayList;
import java.util.HashSet;
import java.util.Iterator;
public class Test {
public static void main(String[] args) {
//创建EthnicGroup对象,第一个民族
EthnicGroup group = new EthnicGroup();
group.setName("汉族");//民族名称赋值
group.setNum(30333);//民族人口赋值
//创建EthnicGroup对象,第二个民族
EthnicGroup group2 = new EthnicGroup();
group2.setName("满族");//民族名称赋值
group2.setNum(5666);//民族人口赋值
//创建存放民族信息的list
ArrayList<EthnicGroup> list = new ArrayList<EthnicGroup>();
list.add(group);//将民族对象存放到list中
list.add(group2);//将民族对象存放到list中
//创建Province对象
Province p = new Province();
p.setArea(60000);//面积赋值
p.setName("北京");//省份赋值
p.setPopulation(5200000);//人口赋值
p.setEchnicGroups(list);//民族信息赋值
//创建Province对象
Province p2 = new Province();
p2.setArea(90000);//面积赋值
p2.setName("上海");//省份赋值
p2.setPopulation(1300000);//人口赋值
p2.setEchnicGroups(list);//民族信息赋值
//创建存放Province对象的HashSet
HashSet<Province> set = new HashSet<Province>();
set.add(p2);
set.add(p);
//循环HashSet
Iterator<Province> iterator=set.iterator();
while(iterator.hasNext()){
System.out.println("Province对象");
Province province = iterator.next();
System.out.println("面积:"+province.getArea());
System.out.println("省份:"+province.getName());
System.out.println("人口数:"+province.getPopulation());
ArrayList<EthnicGroup> groups = province.getEchnicGroups();
System.out.println(province.getName()+"下面有"+groups.size()+"个民族");
for (int i = 0; i < groups.size(); i++) {
EthnicGroup ethnicGroup = groups.get(i);
System.out.print(ethnicGroup.getName());
System.out.print(ethnicGroup.getNum()+"\t");
}
System.out.println("\n");
}
}
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
手工代码-如有错误请见谅:
生产get/set 方法 把数据封装到 echnicGroups 里;
插入数据方法:
//数据库取出了的民族信息
Province pe=new Province();
ResultSet rs = smt.getSQL("select * from mzinfo where P_id=3");
ArrayList<EchnicGroup> echnicGroups = new ArrayList<EchnicGroup>();
EchnicGroup eg=null;
while (rs.next()) {
eg=new EchnicGroup();
eg.setId(rs.getInt("ID"));
eg.setName(rs.getString());
....
echnicGroups.add(eg);
}
try{
rs.close();
}catch (SQLException e) {
e.printStackTrace();
rs = null;
}
rs=null;
pe.setEchnicGroups(echnicGroups ) ;
读取方法:
ArrayList<EchnicGroup> echnicGroups = pe.getEchnicGroups();
EchnicGroup eg=null;
for(int j=0;j<echnicGroups.size();j++){
eg=echnicGroups.get(j)
System.out.print(eg.getId());
System.out.print(eg.getName());
....
}
生产get/set 方法 把数据封装到 echnicGroups 里;
插入数据方法:
//数据库取出了的民族信息
Province pe=new Province();
ResultSet rs = smt.getSQL("select * from mzinfo where P_id=3");
ArrayList<EchnicGroup> echnicGroups = new ArrayList<EchnicGroup>();
EchnicGroup eg=null;
while (rs.next()) {
eg=new EchnicGroup();
eg.setId(rs.getInt("ID"));
eg.setName(rs.getString());
....
echnicGroups.add(eg);
}
try{
rs.close();
}catch (SQLException e) {
e.printStackTrace();
rs = null;
}
rs=null;
pe.setEchnicGroups(echnicGroups ) ;
读取方法:
ArrayList<EchnicGroup> echnicGroups = pe.getEchnicGroups();
EchnicGroup eg=null;
for(int j=0;j<echnicGroups.size();j++){
eg=echnicGroups.get(j)
System.out.print(eg.getId());
System.out.print(eg.getName());
....
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询