JavaSE(08) - 集合 - ArrayList
p111 ArrayList基本使用
创建集合对象 , 泛型 : 限定集合中的数据类型. 在jdk7中,后面的<>中可以不写数据类型.
集合在底层做了一些处理, 打印对象不是地址值, 而是集合中存储的内容.
public class ArrayListBasic {
public static void main(String[] args) {
//创建集合对象
ArrayList<String> list = new ArrayList<>();
//增,添加成功返回true,我们一般不关注他的返回值
list.add("aaa");
list.add("bbb");
list.add("ccc");
list.add("ddd");
//删,可以删除元素,删除成功返回true. 还可以通过索引删除(索引规则和数组,字符串一样),删除成功返回被删除的元素.
// boolean aaa = list.remove("aaa");
// String remove0 = list.remove(1);
//改,通过索引修改元素,返回被覆盖的元素
// String aaa1 = list.set(0, "aaa");
//查,返回指定索引的元素
String s = list.get(1);
//长度,
int size = list.size();
//遍历集合(使用get,size方法)
System.out.print("[");
for (int i = 0; i < list.size(); i++) {
String s1 = list.get(i);
if (i == list.size() - 1) {
System.out.print(s1);
} else System.out.print(s1 + ", ");
}
System.out.println("]");
}
}
p112 集合练习 - 包装类
集合中只能存储引用数据类型,所以要添加基本数据类型必须要用它们的包装类
基本数据类型对应的包装类
byte --Byte
short --Short
char --Character
int --Integer
long --Long
float --Float
double --Double
boolean --Boolean
需求: 定义一个集合,添加数字,并遍历. 格式: [ 元素1, 元素2, 元素3]
public class ArrayListDemo_Integer {
public static void main(String[] args) {
//创建集合
ArrayList<Integer> list = new ArrayList<>();
//添加元素,jdk5之后int 和 Integer之间可以互相转换
list.add(1);
list.add(2);
list.add(3);
list.add(4);
//遍历集合
System.out.print("[");
for (int i = 0; i < list.size(); i++) {
Integer integer = list.get(i);
if (i == list.size() - 1) {
System.out.print(integer);
} else System.out.print(integer + ", ");
}
System.out.println("]");
}
}
p113 集合练习- 添加学生对象并遍历
/*p113 集合练习- 添加学生对象并遍历
* 键盘录入3个学生信息
* 两个注意点:
* 1.创建集合时,集合初始长度为0,添加对象遍历集合时不能用 "i<list.size()"方法,
* 要写需要添加对象的个数.
* 2.添加对象遍历集合时,不能把创建学生对象的语句写在循环外面,否则就是反复赋值一个对象了.
* */
public class addStudentObject {
public static void main(String[] args) {
//创建集合
ArrayList<student> list = new ArrayList<>();
Scanner sc = new Scanner(System.in);
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();
s.setName(name);//赋值给对象的属性
s.setAge(age);
//把对象添加到集合
list.add(s);
}
//遍历集合
for (int i = 0; i < list.size(); i++) {
student s = list.get(i);
System.out.println(s.getName() + ", " + s.getAge());
}
}
}
练习3,添加用户对象并判断是否存在
需求: 1.main方法中定义一个集合, 存入3个对象.用户属性为: id,username,password
2.要求:定义一个方法, 根据id查找对应的用户信息. 如果存在,返回true 如果不存在,返回false
小技巧: 在创建对象并给属性赋值时,你如果忘记了构造方法里属性的顺序,就可以用快捷键 CTRL+P 显示提示.
/*练习3,添加用户对象并判断是否存在
需求: 1.main方法中定义一个集合, 存入3个对象.用户属性为: id,username,password
2.要求:定义一个方法, 根据id查找对应的用户信息. 如果存在,返回true 如果不存在,返回false
如果存在,返回索引,如果不存在,返回-1*/
public class DoesUserExist {
public static void main(String[] args) {
//定义一个集合
ArrayList<user> list = new ArrayList<>();
//创建3个对象,用户属性为: id,username,password
user u1 = new user("001", "George", "123456");
user u2 = new user("002", "Mike", "m123");
user u3 = new user("003", "Marie", "123abc");
//存入集合.
list.add(u1);
list.add(u2);
list.add(u3);
//查找
System.out.println(getIndex("001", list));
System.out.println(isExist("001",list));
}
//定义一个方法, 根据id查找对应的用户信息,如果存在,返回索引,如果不存在,返回-1
public static int getIndex(String id, ArrayList<user> list) {
for (int i = 0; i < list.size(); i++) {//遍历集合
String userId = list.get(i).getId();//获得元素对象的ID属性
if (userId.equals(id)) {//和形参比较
return i; //返回索引
}
}
return -1;
}
//根据id查找对应的用户信息,如果存在返回true,如果不存在就返回false.
//可以调用getIndex方法,如果getIndex方法返回-1就是不存在.
public static boolean isExist(String id, ArrayList<user> list) {
return getIndex(id, list) >= 0;
}
}
p115 集合练习 - 返回多个数据
返回多个数据 - 添加手机对象并返回要求的数据
需求: 定义Javabean类,Phone Phone的属性: 品牌(brand), 价格(price).
main方法中定义一个集合, 存入3个手机对象. 分别为:小米,1000. 苹果,8000. 锤子,2999.
定义一个方法, 将价格低于3000的手机信息返回.
技巧: 如果我们要返回多个数据,可以先把数据放到一个容器中(集合,数组),再把容器返回.
package ArrayList;
import java.util.ArrayList;
/*p115 练习4 - 返回多个数据 - 添加手机对象并返回要求的数据
需求: 定义Javabean类,Phone Phone的属性: 品牌(brand), 价格(price).
main方法中定义一个集合, 存入3个手机对象. 分别为:小米,1000. 苹果,8000. 锤子,2999.
定义一个方法, 将价格低于3000的手机信息返回.*/
public class returnMultipleNumbers {
public static void main(String[] args) {
//定义一个集合
ArrayList<Phone> list = new ArrayList<>();
//创建3个对象
Phone p1 = new Phone("小米", 1000);
Phone p2 = new Phone("苹果", 8000);
Phone p3 = new Phone("锤子", 2999);
//加入集合
list.add(p1);
list.add(p2);
list.add(p3);
//调用方法,返回数据
ArrayList<Phone> phoneMassage = getPhoneMassage(list);
printArrayList(phoneMassage);
}
//返回价格低于3000的手机信息
//如果我们要返回多个数据,可以先把数据放到一个容器中(集合,数组),再把容器返回,
public static ArrayList<Phone> getPhoneMassage(ArrayList<Phone> list) {
//新建集合,用来装要返回数据
ArrayList<Phone> result = new ArrayList<>();
for (int i = 0; i < list.size(); i++) {
Phone p = list.get(i);
int price = p.getPrice();
//如果price 小于3000 就把此对象添加到result集合中
if (price < 3000) {
result.add(p);
}
}
return result;//返回集合
}
//遍历集合方法
public static void printArrayList(ArrayList<Phone> list) {
for (int i = 0; i < list.size(); i++) {
Phone phone = list.get(i);
System.out.println(phone.getBrand() + "," + phone.getPrice());
}
}
}
标签:返回,08,list,System,add,集合,JavaSE,ArrayList
From: https://www.cnblogs.com/lg369/p/17742844.html