集合 ArrayList 自动扩容
集合存储数据类型的特点
- 数组长度固定
- 集合长度可变
- 数组可存基本数据类型和引用数据类型
- 集合可以存引用数据类型,存基本数据类型需要变成包装类
ArrayList
方法名 | |
---|---|
boolean add(E e) | 添加元素,返回值表示是否添加成功 |
boolean remove(E e) | 删除指定元素,返回值表示是否删除成功 |
E remove(int index) | 删除指定索引的元素,返回被删除元素 |
E set(int index,E e) | 修改指定索引下的元素,返回原来的元素 |
E get(int index) | 获取指定索引的元素 |
int size() | 集合的长度,也就是集合中元素的个数 |
基本数据类型对应的包装类
byte Byte
short Short
char Character*
int Integer*
long Long
float Float
double Double
boolean Boolean
使用
ArrayDmeo3
import java.util.ArrayList;
public class ArrayDmeo3 {
public static void main(String[] args) {
//定义一个集合,添加字符串,并进行遍历
//创建集合
ArrayList<String>list=new ArrayList<>();
//添加字符串
list.add("bbb");
list.add("bbs");
list.add("ttg");
list.add("wtt");
//遍历
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("]");
}
}
运行结果
ArrayDmeo2
import java.util.ArrayList;
public class ArrayDmeo2 {
public static void main(String[] args) {
//创建一个集合
ArrayList<String> list = new ArrayList<>();
//添加元素
boolean result= list.add("aaa");
list.add("bbb");
list.add("bbs");
list.add("ttg");
list.add("wtt");
System.out.println(result);
System.out.println(list);
//无论添加什么,都会成功
//删除元素
boolean result1=list.remove("aaa");
System.out.println(result1);
System.out.println(list);
//删除不存在的元素时,会返回false
String str=list.remove(0);
//删除同时会把删除对象返回
System.out.println(str);
System.out.println(list);
//修改元素
//也会返回
String str1=list.set(0,"eee");
System.out.println(str1);
System.out.println(list);
//查询元素
String str3=list.get(0);
System.out.println(str3);
System.out.println(list);
//遍历
for (int i = 0; i < list.size(); i++) {
//依次表示索引
String str4=list.get(i);
System.out.println(str4);
}
}
}
运行结果
ArrayDmeo4
import java.util.ArrayList;
public class ArrayDmeo4 {
public static void main(String[] args) {
//创建集合
ArrayList<Integer> list=new ArrayList<>();
//添加元素
//jdk7以后,int Integer 之间是可以互相转化的
list.add(1);
list.add(2);
list.add(13);
list.add(14);
list.add(15);
//遍历
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> list1=new ArrayList<>();
list1.add('a');
list1.add('b');
list1.add('c');
System.out.println(list1);
}
}
运行结果
ArrayDmeo5
import java.util.ArrayList;
public class ArrayDmeo5 {
public static void main(String[] args) {
//定义一个集合,添加一些学生对象,并进行遍历
ArrayList<Student>list=new ArrayList<>();
//创建学生对象
Student s1=new Student("zhangsan",24);
Student s2=new Student("zhangsi",25);
Student s3=new Student("zhangwu",28);
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);
//没处理,打印的是地址值
System.out.println(stu.getName()+","+stu.getAge());
}
}
}
运行结果
ArrayDmeo6
import java.util.ArrayList;
import java.util.Scanner;
public class ArrayDmeo6 {
public static void main(String[] args) {
ArrayList<Student> list=new ArrayList<>();
Scanner sc=new Scanner(System.in);
for (int i = 0; i < 3; i++) {
//表示创建3个学生对象
Student s=new Student();
System.out.println("请输入学生的姓名");
String name=sc.next();
System.out.println("请输入学生的年龄");
int age=sc.nextInt();
//把name和age赋给学生对象
s.setAge(age);
s.setName(name);
//把学生对象添加到集合中
list.add(s);
}
System.out.println(list.size());
//遍历
for (int i = 0; i < list.size(); i++) {
Student stu=list.get(i);
//System.out.println(stu);
//没处理,打印的是地址值
System.out.println(stu.getName()+","+stu.getAge());
}
}
}
运行结果
ArrayDmeo7
import java.util.ArrayList;
public class ArrayDmeo7 {
public static void main(String[] args) {
//定义javabean类,phone
//main方法中定义一个集合,存入三个手机对象
//定义一个方法,将价格低于三千的手机返回
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> resultlist=new ArrayList<>();
for (int i = 0; i < list.size(); i++) {
Phone p=list.get(i);
int price=p.getPrice();
if (price<3000){
resultlist.add(p);
}
}
//返回
return resultlist;
}
}
运行结果