黑马程序员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); // trueSystem.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;}
}