集合
- 自动扩容
- 存引用数据类型
ArrayList
ArrayList<String> list = new ArrayList<>();
list.add("aaa");
list.add("bbb");
list.add("ccc");
String end = list.remove(2);
String result = list.set(1, "pdd");
String s = list.get(0);
System.out.println(result);
System.out.println(s);
System.out.println(list);
boolean add(E e) 添加元素,返回值表示是否添加成功
boolean remove(E e) 删除指定元素,返回值表示是否删除成功
E remove(int index) 删除指定索引的元素,返回被删除元素
E set(int index,E e) 修改指定索引下的元素,返回原来的元素
E get(int index) 获取指定索引的元素
int size() 集合的长度,也就是集合中元素的个数
集合的遍历方式
ArrayList<String> list = new ArrayList<>();
list.add("aaa");
list.add("bbb");
list.add("ccc");
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("]");
添加数字并遍历
定义一个集合,添加数字,并进行遍历
ArrayList<Integer> list = new ArrayList<>();
list.add(1);
list.add(2);
list.add(3);
list.add(4);
list.add(5);
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("]");
ArrayList<Character> list = new ArrayList<>();
list.add('a');
list.add('b');
list.add('c');
System.out.println(list);
byte Byte
short Short
char Character
int Integer
long Long
float Float
double Double
boolean Boolean
添加学生对象并遍历
定义一个集合,添加一些学生对象,并进行遍历
学生类的属性为:姓名,年龄
package one;
public 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;
}
}
package one;
import java.util.ArrayList;
public class first {
public static void main(String[] args) {
ArrayList<student> list = new ArrayList<>();
student s1 = new student("zhangsan",23);
student s2 = new student("lisi",24);
student s3 = new student("wangwu",22);
list.add(s1);
list.add(s2);
list.add(s3);
for (int i = 0; i < list.size(); i++) {
student stu = list.get(i);
System.out.println(stu.getName() + ", " + stu.getAge());
}
}
}
添加学生对象并遍历(二)
定义一个集合,添加一些学生对象,并进行遍历
学生类的属性为:姓名,年龄
对象的数据来自键盘录入
package one;
import java.util.ArrayList;
import java.util.Scanner;
public class first {
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 stu = list.get(i);
System.out.println(stu.getName() + ", " + stu.getAge());
}
}
}
package one;
public 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;
}
}
添加用户对象并判断是否存在
main方法中定义一个集合,存入三个用户对象
用户属性为:id,usernam,password
定义一个方法,根据id查找对应的用户信息
如果存在,返回true
如果不存在,返回false
package one;
import java.util.ArrayList;
import java.util.Scanner;
public class first {
public static void main(String[] args) {
ArrayList<user> list = new ArrayList<>();
user u1 = new user("hema001", "zhangsan", "123456");
user u2 = new user("hema002", "lisi", "1234");
user u3 = new user("hema003", "wangwu", "12qwer");
list.add(u1);
list.add(u2);
list.add(u3);
boolean flag = contains(list, "hema001");
System.out.println(flag);
}
public static boolean contains(ArrayList<user> list, String id) {
for (int i = 0; i < list.size(); i++) {
String uid = list.get(i).getId();
if(uid.equals(id)){
return true;
}
}
return false;
}
}
package one;
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;
}
}
添加手机对象并返回要求的数据
定义Javabean类:phone
phone属性:品牌,价格
main方法中定义一个集合,存入三个手机对象
分别为:小米,1000;苹果,8000;锤子,29999
定义一个方法,将价格低于3000的手机信息返回
package one;
import java.util.ArrayList;
public class Test8 {
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> phoneInfo = getPhoneInfo(list);
for (int i = 0; i < phoneInfo.size(); i++) {
phone phone = phoneInfo.get(i);
System.out.println(phone.getBrand() + ", " + phone.getPrice());
}
}
public static ArrayList<phone> getPhoneInfo(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();
if (price < 3000) {
result.add(p);
}
}
return result;
}
}
package one;
public class phone {
private String brand;
private int price;
public phone() {
}
public phone(String brand, int price) {
this.brand = brand;
this.price = price;
}
public String getBrand() {
return brand;
}
public void setBrand(String brand) {
this.brand = brand;
}
public int getPrice() {
return price;
}
public void setPrice(int price) {
this.price = price;
}
}
Tips
以上学习内容均来自于B站黑马程序员