1.存储随机数字 (Random+ArrayList)
生成6个1~33之间的随机整数,添加到集合,并遍历集合。
思路:
1.需要存储6个数字,创建一个集合,
2.产生随机数,需要用到Random
3.用循环6次,来产生6个随机数字:for循环
4.循环内调用r.nextInt(int n),参数是33,032,整体+1才是133
5.把数字添加到集合中:add
6.遍历集合:for、 size、get
package setclass.ArrayList;
import java.util.ArrayList;
import java.util.Random;
public class ArrayListRandom {
/*题目:
生成6个1~33之间的随机整数,添加到集合,并遍历集合。
思路:
1.需要存储6个数字,创建一个集合,<Integer>2.产生随机数,需要用到Random
3.用循环6次,来产生6个随机数字:for循环
4.循环内调用r.nextInt(int n),参数是33,0~32,整体+1才是1~335.把数字添加到集合中:add
6.遍历集合:for、 size、get
*/
public static void main(String[] args) {
ArrayList<Integer> list=new ArrayList<>();
Random r=new Random();
for (int i = 0; i < 6; i++) {//6个随机数字
int num= r.nextInt(32)+1;
System.out.println("第"+(i+1)+"个随机整数为:"+num);
list.add(num);
System.out.println("添加后的集合:"+list);
}
for (int i = 0; i < list.size(); i++) {//取出每个值
System.out.print(list.get(i)+" ");
}
}
}
结果:
第1个随机整数为:20
添加后的集合:[20]
第2个随机整数为:4
添加后的集合:[20, 4]
第3个随机整数为:17
添加后的集合:[20, 4, 17]
第4个随机整数为:10
添加后的集合:[20, 4, 17, 10]
第5个随机整数为:31
添加后的集合:[20, 4, 17, 10, 31]
第6个随机整数为:25
添加后的集合:[20, 4, 17, 10, 31, 25]
20 4 17 10 31 25
2.存储自定义对象
题目:定义四个学生对象,添加到集合,并遍历。
思路:
1.定义Student类
四部分:私有对象,无参构造,有参构造,get、set方法
2.定义存储学生对象的集合ArrayList< Student >
实例化学生对象
3.添加到集合add
4.遍历集合显示
package setclass.ArrayList;
import java.util.ArrayList;
public class ArrayListStudent {//ArrayList集合存储自定义对象测试类
//题目2:定义四个学生对象,添加到集合,并遍历。
/*
1.定义Student类
2.定义存储学生对象的集合ArrayList<Student>
实例化学生对象
3.添加到集合add
4.遍历集合显示
*/
public static void main(String[] args ) {
ArrayList<Student> list=new ArrayList<>();
Student student1 = new Student("张三",20);
Student student2 = new Student("李四",21);
Student student3 = new Student("王五",22);
Student student4 = new Student("赵六",23);
list.add(student1);
list.add(student2);
list.add(student3);
list.add(student4);
System.out.println("添加Student对象后的集合:");
for (int i = 0; i < list.size(); i++) {
Student stu = list.get(i);
System.out.println("第"+(i+1)+"个"+"姓名为:"+stu.getName()+" 年龄为:"+stu.getAge());
}
}
}
3.按指定格式遍历集合字符串
集合可以作为参数进行传递
题目: 定义以指定格式打印集合的方法(ArrayList类型作为参数),使用{}扩起集合,使用@分隔每个元素。
-
格式参照{元素@元素@元素}。
-
system.out.println(list); [10,20,30]
-
printArraylist(list); {10@20@30}
package setclass.ArrayList;
import java.util.ArrayList;
public class ArrayListPrint {
//题目:定义以指定格式打印集合的方法(ArrayList类型作为参数),使用{}扩起集合,使用@分隔每个元素。
/*格式参照{元素@元素@元素}。
system.out.println(list); [10,20,30]
printArraylist(list); {10@20@30}*/
public static void main(String[] args) {
ArrayListPrint arrayListPrint = new ArrayListPrint();
ArrayList<String> list=new ArrayList<>();
list.add("张三");
list.add("李四");
list.add("王五");
list.add("赵六");
arrayListPrint.printArraylist(list);
}
public void printArraylist(ArrayList<String> list){
System.out.print("{");
for (int i = 0; i < list.size(); i++) {
String name = list.get(i);
if (i==list.size()-1){
System.out.print(name+"}");
}else {
System.out.print(name+"@");
}
}
}
}
4.筛选集合中的随机数 (Random+ArrayList)
集合可以作为返回值
题目:用一个大集合存入20个随机数字,然后筛选其中的偶数元素,放到小集合当中。要求使用自定义的方法来实现筛选。
思路分析:
1.需要创建一个大集合,用来存储int数字:
2.随机数字就用Random nextInt
3.循环20次,把随机数字放入大集合:for循环、add方法
4.定义一个方法,用来进行筛选。
筛选:根据大集合,筛选符合要求的元素,得到小集合。
三要素:
返回值类型:ArrayList小集合(里面元素个数不确定)
方法名称: getSmaLlList
参数列表:Arraylist大集合(装着20个随机数字)
5.判断(if)是偶数: num % 2 == 0
6.如果是偶数,就放到小集合当中,否则不放
package setclass.ArrayList;
import java.util.ArrayList;
import java.util.Random;
public class ArrayListReturn {
public static void main(String[] args) {
ArrayList<Integer> list=new ArrayList<>();//存放20个随机数大集合
ArrayListReturn arrayListReturn = new ArrayListReturn();
Random r = new Random();
for (int i = 0; i < 20; i++) {
int num=r.nextInt(19)+1;//[1-20]
list.add(num);
}
System.out.println("存放20个随机数大集合:"+list);
ArrayList<Integer> evenlist=arrayListReturn.getEvenArrayList(list);
System.out.println("偶数的个数:"+evenlist.size());
System.out.println("存放偶数的小集合:"+evenlist);
}
public ArrayList<Integer> getEvenArrayList(ArrayList<Integer> list){
ArrayList<Integer> list1 = new ArrayList<>();//存放偶数的小集合
for (int i = 0; i < list.size(); i++) {
int number=list.get(i);
if (number%2==0){
list1.add(number);
}
}
return list1;
}
}