Java常见集合例题(1、集合的嵌套遍历。2、获取随机数。3三种方式实现对集合中存储对象的遍历)
2017-11-09 10:19
701 查看
作业1:集合的嵌套遍历
package org.wests.HomeWork;import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
/**
* 1:集合的嵌套遍历
* 需求:
* 我们班有学生,每一个学生是不是一个对象。所以我们可以使用一个集合表示我们班级的学生。ArrayList<Student>
* 但是呢,我们旁边是不是还有班级,每个班级是不是也是一个ArrayList<Student>。
* 而我现在有多个ArrayList<Student>。也要用集合存储,怎么办呢?
* @author 代虎
*
*/
public class HomeWork01 {
public static void main(String[] args) {
List<Student> stuList = new ArrayList<>();
stuList.add(new Student("Apache", "Java"));
stuList.add(new Student("Commons", "Java"));
stuList.add(new Student("Github ", "Java"));
List<Student> stuList2 = new ArrayList<>();
stuList2.add(new Student("张艺", "高三20班"));
stuList2.add(new Student("张玥", "高三20班"));
stuList2.add(new Student("贺州", "高三20班"));
@SuppressWarnings("rawtypes")
HashMap<List, String> classMap = new HashMap<>();
classMap.put(stuList, stuList.get(0).getClassname());
classMap.put(stuList2, stuList2.get(0).getClassname());
@SuppressWarnings("rawtypes")
Iterator it = classMap.keySet().iterator();
while(it.hasNext()) {
System.out.println(it.next());
}
}
}
自定义的学生类:
package org.wests.HomeWork;public class Student {
private String name;
private String Classname;
public Student() {
}
public Student(String name) {
super();
this.name = name;
}
public Student(String name, String classname) {
super();
this.name = name;
Classname = classname;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getClassname() {
return Classname;
}
public void setClassname(String classname) {
Classname = classname;
}
@Override
public String toString() {
return this.Classname + ":"+ this.name;
}
}
执行结果:
作业二:获取10个1-20之间的随机数,要求不能重复
package org.wests.HomeWork;import java.util.HashSet;
import java.util.Set;
/**
* 2:获取10个1-20之间的随机数,要求不能重复
* @author 代虎
*
*/
public class HomeWork02 {
public static void main(String[] args) {
Set<Integer> set = new HashSet<>();
for(int i=0;i<1000;i++) {
int number =(int)(Math.random()*20);
set.add(number);
Object[] array = set.toArray();
if(array.length>10-1) {
break;
}
}
System.out.println(set);
}
}
执行结果:
作业三:使用ArrayList集合存储自定义对象并遍历(三种方式去实现)
package org.wests.HomeWork;import java.util.ArrayList;
import java.util.List;
import java.util.ListIterator;
/**
* 3、使用ArrayList集合存储自定义对象并遍历(三种方式去实现)
* 分析思路: 1、建立自定义的对象Student
* 2、定义一个集合ArrayList
* 3、三种方法:A:普通for循环或者forEach语句
* B:Iterator/list.listIterator()
* C:转化为数组,遍历
*
* @author 代虎
*
*/
public class HomeWork03 {
/*
* A:普通for循环或者forEach语句
*/
public static <E> void method01(List<E> list) {
// for(int i=0;i<list.size();i++) {
// System.out.println(list.get(i));
// }
for(E obj:list) {
System.out.println(obj);
}
}
/*
* B:Iterator
*/
public static <E> void method02(List<E> list) {
ListIterator<E> it = list.listIterator();
System.out.println("List的正向输出");
while(it.hasNext()){
System.out.println(it.next());
}
System.out.println("List的反向输出");
while(it.hasPrevious()) {
System.out.println(it.previous());
}
}
public static <E> void method03(List<E> list) {
Object[] arr = list.toArray();
for(int i=0;i<arr.length;i++) {
System.out.println(arr[i]);
}
}
public static void main(String[] args) {
List<Student> list = new ArrayList<>();
System.out.println("My favorite basketball star:");
list.add(new Student("尼克杨", "勇士"));
list.add(new Student("库里", "勇士"));
list.add(new Student("汤普森", "勇士"));
list.add(new Student("欧文", "凯尔特人"));
System.out.println("方法一");
method01(list);
System.out.println("方法二");
method02(list);
System.out.println("方法三");
method03(list);
}
}
执行结果:
相关文章推荐
- Java实现Map集合遍历的四种常见方式与用法分析
- Java小例程------实现对象存入集合中、遍历、随机数做索引在集合中查找
- Java之集合常见例题(1、统计字符出现次数2、集合嵌套遍历。3、斗地主)
- JAVA之旅(二十)—HashSet,自定义存储对象,TreeSet,二叉树,实现Comparator方式排序,TreeSet小练习
- Java基础知识强化之集合框架笔记74:各种集合常见功能 和 遍历方式总结
- 重温数据结构:二叉树的常见方法及三种遍历方式 Java 实现
- java基础——集合的常见方法及遍历方式
- Java基础知识强化之集合框架笔记41:Set集合之HashSet存储自定义对象并遍历练习
- Java动态获取某个接口下所有的实现类对象集合
- Java动态获取某个接口下所有的实现类对象集合
- java使用递归,非递归方式实现二叉树的三种常见遍历方式
- 获取一个想要的指定文件的集合,获取文件夹下(包含子目录的所有.java的文件对象,并存储到集合中)
- java使用递归,非递归方式实现二叉树的三种常见遍历方式
- Java基础知识强化之集合框架笔记24:ArrayList存储自定义对象并遍历
- Java动态获取某个接口下所有的实现类对象集合
- Java_基础—List集合存储学生对象并遍历
- 二叉树的常见方法及三种遍历方式 Java 实现
- Java基础知识强化之集合框架笔记13:Collection集合存储学生对象并遍历
- Java基础知识强化之集合框架笔记06:Collection集合存储自定义对象并遍历的案例
- JAVA之旅(二十)—HashSet,自定义存储对象,TreeSet,二叉树,实现Comparator方式排序,TreeSet小练习