【JAVA学习“集合”】笔记
学习集合的基本知识和 ArrayList,以及一些练习题
集合
ArrayList
操作演示
//1.创建一个集合
//<String>表示只能接受字符串类型的数据,为泛型
ArrayList<String> list = new ArrayList<>();
//2.添加元素
list.add("aaa");
list.add("aaa");
list.add("bbb");
list.add("ccc");
/*//3.删除元素
boolean result = list.remove("aaa");
System.out.println(result);//打印结果为true
System.out.println(list);//[aaa, bbb, ccc]
String str = list.remove(0);
System.out.println(str);
System.out.println(list);//删除0位置的元素
// 返回被删除元素aaa和被删除元素后的集合*/
//4.修改
//把集合1位置的元素改为ddd
String result = list.set(1, "ddd");//被替换的aaa
System.out.println(result);//打印被替换的aaa
System.out.println(list);//[aaa, ddd, bbb, ccc]
//查询元素
String s = list.get(1);
System.out.println(s);
//遍历用获取集合长度
for (int i = 0; i < list.size(); i++) {
//i索引
//list.get() 元素
String s1 = list.get(i);
System.out.println(s1);
}
练习
定义一个集合,添加元素,并进行遍历
//1.创建集合
ArrayList<String> list = new ArrayList<>();
//2.添加元素
list.add("吃好了吗?");
list.add("睡好了吗?");
list.add("休息好了吗?");
list.add("拜拜了您内!");
//3.遍历
System.out.print("[");
for (int i = 0; i < list.size(); i++) {
if (i == list.size() - 1){
System.out.print(list.get(i));
}else {
System.out.print(list.get(i) + ",");
}
}
System.out.print("]");
练习
为了把数字放入的集合中,需要对基本的数据类型进行包装
基本数据类型对应的包装类
//1.创建集合
ArrayList<Integer> list = new ArrayList<>();
//重点在括号中的Integer
//需要添加字符时,把Integer换成Character即可
//2.添加元素
list.add(1);
list.add(2);
list.add(3);
list.add(4);
list.add(5);
//3.遍历集合
System.out.print("[");
for (int i = 0; i < list.size(); i++) {
if (i == list.size()-1){
System.out.print(list.get(i));
}else{
System.out.print(list.get(i) + ",");
}
}
System.out.println("]");
结果
练习
因为学生的类并不存在,所以要提前定义一个学生的类,写一个标准javabin
定义学生类
public class Student {
//1.私有化成员变量
//2.空参构造方法
//3.带全部参数的构造方法
//4.get和set方法
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 test3 {
public static void main(String[] args) {
//1.创造集合
ArrayList<Student> list = new ArrayList<>();
//2.创建学生对象
Student s1 = new Student("卫青", 35);
Student s2 = new Student("张骞", 32);
Student s3 = new Student("霍去病", 20);
//3.添加元素
list.add(s1);
list.add(s2);
list.add(s3);
//4.遍历集合
for (int i = 0; i < list.size(); i++) {
Student stu = list.get(i);
//这里不能直接打印stu,直接打印出现的是地址值,因为是自己写的类,并且没经过处理。需要打印属性
System.out.println(stu.getName() + "," +stu.getAge() );
}
}
}
代码
public class test4 {
public static void main(String[] args) {
//1.创建集合
ArrayList<Student> list = new ArrayList<>();
//2.键盘录入学生信息并添加到集合当中
Scanner sc = new Scanner(System.in);
//因为集合的长度是不定的,所以这里不能写list.size(),要创建几个对象就写几
for (int i = 0; i <3; i++) {
Student s = new Student();//此代码不能写到循环外面
System.out.println("请输入学生姓名");
String name = sc.next();
System.out.println("请输入学生年龄");
int age = sc.nextInt();
//把name和age赋值给学生对象
s.setName(name);
s.setAge(age);
//把学生对象添加到集合中
list.add(s);
}
//3.遍历
for (int i = 0; i < list.size(); i++) {
Student stu = list.get(i);
System.out.println(stu.getName() +","+stu.getAge());
}
}
}
运行结果
解释Student s = new Student();//此代码为什么不能写到循环外面
建立用户的类
public class User {
private String id;
private String username;
private String password;
public User() {
}
public User(String id, String username, String password) {
this.id = id;
this.username = username;
this.password = password;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
完成查询
public class test5 {
public static void main(String[] args) {
//1.创建集合
ArrayList<User> list = new ArrayList<>();
//2.创建三个用户对象
User u1 = new User("001", "秦皇", "剪灭六国");
User u2 = new User("002", "汉武", "击穿匈奴");
User u3 = new User("003", "唐宗", "天可汗");
//3.把用户对象添加到集合中
list.add(u1);
list.add(u2);
list.add(u3);
//4.调用方法查看id是否存在
boolean b = contains(list, "005");//在此处输入想要查询的id
//5.打印结果
System.out.println(b);
}
public static boolean contains(ArrayList<User> list,String id){
for (int i = 0; i < list.size(); i++) {
User u = list.get(i);
String uid = u.getId();
if (uid.equals(id)){
return true;
}
}
return false;
}
}
运行结果
TIPS
选中小括号键入CTRL+p会出现需要输入数据属性的顺序
还没有评论,来说两句吧...