编写程序,采用Arraylist存储3只猫的姓名,性别和花色信息,并输出。3只猫的信息如下:
小喵,母,橘猫,
小米,公,三花,
小咪,母,奶牛,
建立一个Cat类
public class Cat {
String name;
String gender;
String breed;
public Cat(String name, String gender, String breed) {
this.name=name;
this.gender=gender;
this.breed=breed;
}
}
建立一个Arraylist类型 al 存入3个数据
import java.util.ArrayList;
import java.util.Iterator;
import java.util.LinkedList;
public class study {
public static void main(String[] args) {
// 编写程序,采用Arraylist存储3只猫的姓名,性别和花色信息,并输出。3只猫的信息如下:
// 小喵,母,橘猫,
//小米,公,三花,
//小咪,母,奶牛
ArrayList<Cat> al=new ArrayList<>();
al.add((Cat) new Cat("小喵","母","橘猫"));
al.add((Cat)new Cat("小米","公","三花"));
al.add((Cat)new Cat("小咪","母","奶牛"));
}
}
打印
方式一for -in
for(Cat i : al) {
System.out.println(i);}
方式二 for
for (int j = 0; j < al.size(); j++) {
System.out.println(al.get(j));
}
方式三 iterator
Iterator<Cat> it= al.iterator();
while(it.hasNext())
{
Cat p=it.next();
System.out.println(p.toString());
}
无论这三种哪种方式只要是传引用类型而不是传值都是在打印地址,此时我们只要重写toString就行了
public String toString()
{
return "name" +name+"gender"+gender+"breed"+breed;
}
测试主类
import java.util.ArrayList;
import java.util.Iterator;
import java.util.LinkedList;
public class study {
public static void main(String[] args) {
// 编写程序,采用Arraylist存储3只猫的姓名,性别和花色信息,并输出。3只猫的信息如下:
// 小喵,母,橘猫,
//小米,公,三花,
//小咪,母,奶牛
ArrayList<Cat> al=new ArrayList<>();
al.add((Cat) new Cat("小喵","母","橘猫"));
al.add((Cat)new Cat("小米","公","三花"));
al.add((Cat)new Cat("小咪","母","奶牛"));
// for(Cat i : al) {
// System.out.println(i);}
for (int j = 0; j < al.size(); j++) {
System.out.println(al.get(j));
}
//Iterator<Cat> it= al.iterator();
// while(it.hasNext())
// {
// Cat p=it.next();
// System.out.println(p.toString());
// }
}
}
Cat类
public class Cat {
String name;
String gender;
String breed;
public Cat(String name, String gender, String breed) {
this.name=name;
this.gender=gender;
this.breed=breed;
}
public String toString()
{
return "name" +name+"gender"+gender+"breed"+breed;
}
}