黑马程序员Java的个人笔记
BV17F411T7Ao
p111~p115
目录
集合存储数据类型的特点
创建对象
ArrayList 成员方法
.add 增加元素
.remove 删除元素
.set 修改元素
.get 查询元素
.size 获取长度
基本数据类型对应的包装类
Character
练习
返回多个数据
集合存储数据类型的特点
创建对象
<>中后面写个泛型(不能是基本数据类型),表示存储数据的类型
// 创建集合的对象
ArrayList<String> list = new ArrayList<>();
ArrayList 成员方法
.add 增加元素
- 在 ArrayList 中不管添加什么,都能添加成功
- 因为不管添加什么,都返回 true,所以直接使用方法本身的添加功能就行了
import java.util.ArrayList;
public class Demo1 {
public static void main(String[] args) {
// 创建集合的对象
ArrayList<String> list = new ArrayList<>();
boolean res = list.add("add");
System.out.println(res); // true
System.out.println(list); // [add]
}
}
- 直接使用方法添加
import java.util.ArrayList;
public class Demo1 {
public static void main(String[] args) {
// 创建集合的对象
ArrayList<String> list = new ArrayList<>();
list.add("aaa");
list.add("bbb");
list.add("ccc");
list.add("ddd");
System.out.println(list); // [aaa, bbb, ccc, ddd]
}
}
.remove 删除元素
import java.util.ArrayList;
public class Demo1 {
public static void main(String[] args) {
// 创建集合的对象
ArrayList<String> list = new ArrayList<>();
list.add("aaa");
list.add("bbb");
list.add("ccc");
list.add("ddd");
System.out.println(list); // [aaa, bbb, ccc, ddd]
// 直接删除元素
list.remove("ddd");
System.out.println(list); // [aaa, bbb, ccc]
// 通过索引删除
list.remove(1);
System.out.println(list); // [aaa, ccc]
}
}
.set 修改元素
import java.util.ArrayList;
public class Demo1 {
public static void main(String[] args) {
// 创建集合的对象
ArrayList<String> list = new ArrayList<>();
list.add("aaa");
list.add("bbb");
list.add("ccc");
list.add("ddd");
System.out.println(list); // [aaa, bbb, ccc, ddd]
String res = list.set(1, "eee");
System.out.println(res); // bbb,set方法会把被覆盖的元素返回
System.out.println(list); // [aaa, eee, ccc, ddd]
}
}
.get 查询元素
import java.util.ArrayList;
public class Demo1 {
public static void main(String[] args) {
// 创建集合的对象
ArrayList<String> list = new ArrayList<>();
list.add("aaa");
list.add("bbb");
list.add("ccc");
list.add("ddd");
System.out.println(list); // [aaa, bbb, ccc, ddd]
// 查询元素
String s = list.get(0);
System.out.println(s); // aaa
}
}
.size 获取长度
import java.util.ArrayList;
public class Demo1 {
public static void main(String[] args) {
// 创建集合的对象
ArrayList<String> list = new ArrayList<>();
list.add("aaa");
list.add("bbb");
list.add("ccc");
list.add("ddd");
System.out.println(list); // [aaa, bbb, ccc, ddd]
// 获取长度
for (int i = 0; i < list.size(); i++) {
String str = list.get(i);
System.out.println(str); // 获取每个索引上的元素
}
}
}
基本数据类型对应的包装类
- jdk5之后 int Integer 之间是可以互相转化的
Character
import java.util.ArrayList;
public class Demo1 {
public static void main(String[] args) {
ArrayList<Character> list = new ArrayList<>();
list.add('a');
list.add('b');
list.add('c');
System.out.println(list); // [a, b, c]
}
}
练习
返回多个数据
- 返回多个数据,可以把这些数据先放到一个容器中(集合、数组),再把容器返回
// 没写javabean类
import java.util.ArrayList;
public class phoneTest {
public static void main(String[] args) {
// 创建集合对象
ArrayList<Phone> list = new ArrayList<>();
// 创建手机对象
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> phoneInfoList = getPhoneInfo(list);
// 遍历集合
for (int i = 0; i < phoneInfoList.size(); i++) {
Phone phone = phoneInfoList.get(i);
System.out.println(phone.getBrand() + ", " + phone.getPrice());
}
}
public static ArrayList<Phone> getPhoneInfo(ArrayList<Phone> list){
// 定义一个集合用于存储价格低于3000的手机对象
ArrayList<Phone> resList = new ArrayList<>();
// 遍历集合
for(int i = 0; i < list.size(); i++){
Phone p = list.get(i);
int price = p.getPrice();
// 如果当前手机的价格低于3000,把对象添加到resList中
if(price < 3000){
resList.add(p);
}
}
return resList;
}
}