文章目录
一、如何使用Iterator和增强for循环遍历List。举例说明?
// iterator迭代器:集合特有的遍历方式
Iterator<Student> it = list.iterator();
while (it.hasNext()) {
Student s = it.next();
System.out.println(s.getName() + "," + s.getAge());
}
// 增强for:最方便的遍历方式
for (Student s : list) {
System.out.println(s.getName() + "," + s.getAge());
}
二、已知有十六支男子足球队参加2008 北京奥运会。
写一个程序,把这16支球队随机分为4个组。采用List集合和随机数
2008 北京奥运会男足参赛国家:
科特迪瓦,阿根廷,澳大利亚,塞尔维亚,荷兰,尼日利亚、日本,美国,中国,新西 兰,巴西,比利时,韩国,喀麦隆,洪都拉斯,意大利
代码如下:
public static void main(String[] args) {
ArrayList<String> strings = new ArrayList<>();
strings.add("科瓦迪尔");
strings.add("阿根廷");
strings.add("澳大利亚");
strings.add("塞尔维亚");
strings.add("尼日利亚");
strings.add("荷兰");
strings.add("日本");
strings.add("美国");
strings.add("中国");
strings.add("新西兰");
strings.add("巴西");
strings.add("比利时");
strings.add("韩国");
strings.add("柯麦隆");
strings.add("洪都拉斯");
strings.add("意大利");
Random random = new Random();
for(int i=0;i<4;i++){
System.out.println("第"+(i+1)+"组是:");
for(int j=0;j<4;j++){
String s = strings.get(random.nextInt(strings.size()));
System.out.print(s+" ");
strings.remove(s);
}
System.out.println();
}
}
}
运行结果:
写一个方法reverseList,该函数能够接受一个List,然后把该List 倒序排列。。 例如:
List list = new ArrayList();
list.add(“Hello”);
list.add(“World”);
list.add(“Learn”); //此时list 为Hello World Learn
reverseList(list); //调用reverseList 方法之后,list 为Learn World Hello## 1.引入库
代码如下(示例):
public static void main(String[] args) {
ArrayList list = new ArrayList();
list.add("Hello");
list.add("World");
list.add("Learn");
System.out.println(list);
reverseList(list);
}
public static void reverseList(ArrayList<String> l) {
ArrayList<String> strings = new ArrayList<>();
for(int i=l.size()-1;i>=0;i--){
strings.add(l.get(i));
}
System.out.println(strings);
}
}
结果如下:
在这个list 的基础上,完成下列要求:
//1) 计算所有学生的平均年龄
//2) 计算各个班级的平均分
有如下Student 对象,
private String name;
private int age;
private int score;
private String classNum;
其中,classNum 表示学生的班号,例如“class05”。 有如下List List list = new ArrayList();
list.add(new Student(“Tom”, 18, 100, “class05”));
list.add(new Student(“Jerry”, 22, 70, “class04”));
list.add(new Student(“Owen”, 25, 90, “class05”));
list.add(new Student(“Jim”, 30,80 , “class05”));
list.add(new Student(“Steve”, 28, 66, “class06”));
list.add(new Student(“Kevin”, 24, 100, “class04”));
代码如下:
public static void main(String[] args) {
List<StudentList> list = new ArrayList();
list.add(new StudentList("Tom", 18, 100, "class05"));
list.add(new StudentList("Jerry", 22, 70, "class04"));
list.add(new StudentList("Owen", 25, 90, "class05"));
list.add(new StudentList("Jim", 30, 80, "class05"));
list.add(new StudentList("Steve", 28, 66, "class06"));
list.add(new StudentList("Kevin", 24, 100, "class04"));
int sum = 0;
for (StudentList s : list) {
sum += s.getAge();
}
System.out.println("所有学生的平均年龄:" + sum / list.size());
int sum1 = 0;
int sum2 = 0;
int sum3 = 0;
int num1 = 0;
int num2 = 0;
int num3 = 0;
for (StudentList s : list) {
if (s.getClassNum() == "class04") {
num1++;
sum1 += s.getScore();
}
if (s.getClassNum() == "class05") {
num2++;
sum2 += s.getScore();
}
if (s.getClassNum() == "class06") {
num3++;
sum3 += s.getScore();
}
}
System.out.println("class04班级的平均分为:" + sum1 / num1);
System.out.println("class05班级的平均分为:" + sum2 / num2);
System.out.println("class06班级的平均分为:" + sum3 / num3);
}
}
结果如下: