java的arrayList集合小练习
一、题目:生成6个1~33之间的随机整数,添加到集合,并遍历集合。
//一、题目:生成6个1~33之间的随机整数,添加到集合,并遍历集合。
//思路:
//
//需要存储6个数字,创建一个集合,<integer>
//产生随机数,需要用到Random(自己百度查)
//用循环6次,来产生6个随机数字:for循环
//循环内调用r.nextInt(int n),参数是33,0~32,整体+1才是1~33
//把数字添加到集合中: add
//遍历集合:for、size、 get
import java.util.ArrayList;
import java.util.Random;
public class ZuoYe_01 {
public static ArrayList<Integer> random_arr(int num) {
Random random=new Random();
ArrayList<Integer> list=new ArrayList<Integer>();
for (int i = 0; i < num; i++) {
list.add(random.nextInt(33)+1);
}
return list;
}
public static void for_arr(ArrayList<Integer> list) {
for(int i=0;i<list.size();i++) {
System.out.println(list.get(i));
}
}
public static void main(String[] args) {
ArrayList<Integer> list=new ArrayList<Integer>();
list=random_arr(6);
System.out.println(list);
for_arr(list);
}
}
二、题目:自定义4个学生对象,添加到集合,并遍历。
//二、题目:自定义4个学生对象,添加到集合,并遍历。
//思路:
//
//自定义Student学生类,四个部分。
//创建—个集合,用来存储学生对象。泛型: <Student>
//根据类,创建4个学生对象。
//将4个学生对象添加到集合中:add
//遍历集合:for、 size、get
import java.util.ArrayList;
class Student{
private String name;
private int age;
public Student() {
}
public Student(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
public class ZuoYe_02 {
public static void main(String[] args) {
ArrayList<Student> list=new ArrayList<Student>();
Student student1=new Student("赵一",21);
Student student2=new Student("钱二",22);
Student student3=new Student("孙三",23);
Student student4=new Student("李四",23);
list.add(student1);
list.add(student2);
list.add(student3);
list.add(student4);
System.out.println(list);
for (int i = 0; i < list.size(); i++) {
System.out.print(list.get(i).getName()+" ");
System.out.println(list.get(i).getAge());
}
}
}
三、题目:定义以指定格式打印集合的方法(ArrayList类型作为参数), 使用{}扩起集合,使用@分隔每个元素。 格式参照{元素@元素@元素}。
//三、题目:定义以指定格式打印集合的方法(ArrayList类型作为参数),
// 使用{}扩起集合,使用@分隔每个元素。
// 格式参照{元素@元素@元素}。
import java.util.ArrayList;
public class ZuoYe_03 {
public static void specify_format_print(ArrayList<String> list) {
if (list.size()==0) {
System.out.println("{}");
} else if (list.size()==1) {
System.out.println("{"+list.get(0)+"}");
}else {
for (int i = 0; i < list.size(); i++) {
if(i==0) {
System.out.print("{"+list.get(i)+"@");
}else if (i==list.size()-1) {
System.out.println(list.get(i)+"}");
}else {
System.out.print(list.get(i)+"@");
}
}
}
}
public static void main(String[] args) {
ArrayList<String> list=new ArrayList<String>();
list.add("路飞");
list.add("索隆");
list.add("山治");
list.add("娜美");
list.add("乌索普");
specify_format_print(list);
}
}
四、题目:用一个大集合存入20个随机数字,然后筛选其中的偶数元素,放到小集合当中。要求使用自定义的方法来实现筛选。
import java.util.Random;
import java.util.ArrayList;
//四、题目:用一个大集合存入20个随机数字,然后筛选其中的偶数元素,放到小集合当中。
//要求使用自定义的方法来实现筛选。
//分析
//
//1. 需要创建一个大集合,用来存储int数字:<Integer>
//2.随机数字就用Random nextInt
//3.循环20次,把随机数字放入大集合:for循环、add方法
//4、定义一个方法,用来进行筛选。
public class ZuoYe_04 {
public static ArrayList<Integer> random_arr(int num) {
Random random=new Random();
ArrayList<Integer> list=new ArrayList<Integer>();
for (int i = 0; i <num ; i++) {
list.add(random.nextInt(50));
}
System.out.println(list);
return list;
}
public static ArrayList<Integer> select_even_number(ArrayList<Integer> list){
ArrayList<Integer> list2=new ArrayList<Integer>();
for (int i = 0; i < list.size(); i++) {
if (list.get(i)%2==0) {
list2.add(list.get(i));
}
}
System.out.println(list2);
return list2;
}
public static void main(String[] args) {
select_even_number(random_arr(20));
}
}
五、使用ArrayList集合,对其添加100个不同的元素:
1.使用add()方法将元素添加到ArrayList集合对象中;
2.调用集合的iterator()方法获得Iterator对象,并调用Iterator的hasNext()和next()方法,迭代的读取集合中的每个元素;
3.调用get()方法先后读取索引位置为50和102的元素,要求使用try-catch结构处理下标越界异常;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
//五、使用ArrayList集合,对其添加100个不同的元素:
//1.使用add()方法将元素添加到ArrayList集合对象中;
//2.调用集合的iterator()方法获得Iterator对象,并调用Iterator的hasNext()和next()方法,迭代的读取集合中的每个元素;
//3.调用get()方法先后读取索引位置为50和102的元素,要求使用try-catch结构处理下标越界异常;
public class ZuoYe_05 {
public static void main(String[] args){
ArrayList<Integer> intList=new ArrayList<Integer>();
for (int i = 0; i < 100; i++) {
intList.add(i);
}
System.out.println(intList);
Iterator<Integer> intListIterator=intList.iterator();
while(intListIterator.hasNext()) {
System.out.println(intListIterator.next());
}
intList.get(50);
try {
intList.get(102);
} catch (IndexOutOfBoundsException e) {
// TODO: handle exception
}
}
}
六、题目1
某班级有若干学生,学生对象存放在一个 List 中,每个学生有姓名(String)、班级(String)、成绩(double)属性,某次考试成绩结束后每个学生都获得了成绩。遍历list集合,把所有学生的属性都打印出来
//六、题目1
//某班级有若干学生,学生对象存放在一个 List 中,
// 每个学生有姓名(String)、班级(String)、成绩(double)属性,
// 某次考试成绩结束后每个学生都获得了成绩。遍历list集合,把所有学生的属性都打印出来
import java.awt.print.Printable;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Random;
import java.util.Scanner;
class Student1{
private String name;
private String classRoom;
private int score;
public Student1() {
super();
}
public Student1(String name, String classRoom, int score) {
super();
this.name = name;
this.classRoom = classRoom;
this.score = score;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getClassRoom() {
return classRoom;
}
public void setClassRoom(String classRoom) {
this.classRoom = classRoom;
}
public int getScore() {
return score;
}
public void setScore(int score) {
this.score = score;
}
}
public class ZuoYe_06 {
public static void main(String[] args) {
ArrayList<Student1> stuList=new ArrayList<Student1>();
Scanner scanner=new Scanner(System.in);
Random random=new Random();
System.out.println("请输入班级人数:");
int stuNum=scanner.nextInt();
for (int i = 0; i < stuNum; i++) {
stuList.add(new Student1("同学"+(i+1),"4班",random.nextInt(41)+60));
System.out.println(stuList.get(i).getName()+" "+stuList.get(i).getClassRoom()+" "+stuList.get(i).getScore());
}
}
}
七、题目2
删除第一个字符串当中出现的第二个字符串中的字符:
//七、题目2
//删除第一个字符串当中出现的第二个字符串中的字符:
import java.util.ArrayList;
public class ZuoYe_07 {
public static void remove_same_char(String str1,String str2) {
ArrayList<Character> ch1List=new ArrayList<Character>();
ArrayList<Character> ch2List=new ArrayList<Character>();
for (int i = 0; i < str1.length(); i++) {
ch1List.add(str1.charAt(i));
}
for (int i = 0; i < str2.length(); i++) {
ch2List.add(str2.charAt(i));
}
ch1List.removeAll(ch2List);//删除str1中与str2相同的元素
System.out.println(ch1List);
}
public static void add_not_same_char(String str1,String str2) {
ArrayList<Character> ch1List=new ArrayList<Character>();
ArrayList<Character> ch2List=new ArrayList<Character>();
ArrayList<Character> chList=new ArrayList<Character>();
for (int i = 0; i < str1.length(); i++) {
ch1List.add(str1.charAt(i));
}
for (int i = 0; i < str2.length(); i++) {
ch2List.add(str2.charAt(i));
}
for (int i = 0; i < str1.length(); i++) {
if (ch2List.contains(ch1List.get(i))) {
continue;
}
chList.add(ch1List.get(i));
}
System.out.println(chList);
}
public static void main(String[] args) {
remove_same_char("456qwertyuiopasdfgh", "qwertyui");
add_not_same_char("456qwertyuiopasdfgh","qwertyui");
}
}
八、题目3
有一个List中存放的整形的数据,要求使用Collections.sort(自己查,得培养自己得学习能力)对List进行排序。
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
import java.util.Random;
//八、题目3
//有一个List中存放的整形的数据,要求使用Collections.sort
//(自己查,得培养自己得学习能力)对List进行排序。
public class ZuoYe_08 {
public static void main(String[] args) {
List<Integer> list = new ArrayList<Integer>();
Random random=new Random();
for (int i = 0; i < 10; i++) {
list.add(random.nextInt(30));
}
System.out.println("排序前:"+list);
Collections.sort(list);
System.out.println("排序后:"+list);
}
}