集合的长度一开始为0,会自动扩容。集合的长度会自动变化,数组的长度是固定的。
数组可以存储基本数据类型和引用数据类型。
集合可以存储引用数据类型,不能直接存储基本数据类型,需要变成包装类。
最常用到的集合ArrayList。定义在Java.util包下面
ArrayList成员方法
创建集合对象
此时我们创建的是ArrayList的对象,而ArrayList是Java已经写好的一个类
* 这个类在底层做了一些处理
* 打印对象不是地址值,而是集合中存储的数据内容
* 在展示的时候会拿[]把所有的数据进行包裹,
* 如果还没有存储内容,打印的时候为[]
package ArrayListTest;
import java.util.ArrayList;
public class ArrayListDemo1 {
public static void main(String[]args) {
//1.创建集合的对象
//泛型:限定集合中数据的类型
ArrayList list=new ArrayList();
/*<>里面只可以写字符串这样的引用类型,其他的类型不可以写,写就错了*/
/*也可以写成ArrayList list=new ArrayList() 在jdk7之后就不用这么写了*/
/*此时我们创建的是ArrayList的对象,而ArrayList是Java已经写好的一个类
* 这个类在底层做了一些处理
* 打印对象不是地址值,而是集合中存储的数据内容
* 在展示的时候会拿[]把所有的数据进行包裹,
* 如果还没有存储内容,打印的时候为[]*/
}
}
集合的增删改查
boolean add(E,e) 添加
* boolean remove(E e)删除
* E remove (int index)
*
* E set(int index,E e)修改
*
* E get(int index)查询
* int size() 获取长度
package ArrayListTest;
import java.util.ArrayList;
public class ArrayListDemo2 {
/*
* boolean add(E,e) 添加
* boolean remove(E e)删除
* E remove (int index)
*
* E set(int index,E e)修改
*
* E get(int index)查询
* int size() 获取长度
*
* */
public static void main(String[]args) {
//创建一个集合
ArrayList list=new ArrayList<>();
//2.添加元素
// boolean result=list.add("aaa"); //ArrayList不管添加什么都是可以添加成功的
// System.out.println(result);
list.add("bbb");
list.add("ccc");
list.add("ddd");
/* System.out.println(list); //[aaa,bbb,ccc,ddd]
list.remove("aaa"); //可以直接删除元素
//当要删除的元素不存在的时候就会失败
//也可以根据索引来删除,和数组的索引一样
System.out.println(list); //[bbb,ccc,ddd]
//根据索引删除,会把被删除的元素返回
String str=list.remove(0);
System.out.println(str);//bbb
System.out.println(list); //[ccc,ddd]
*/
//修改元素
String result=list.set(1, "eve");
//修改就是把指定索引位置的值修改为新的值,会把被覆盖的值,也就是旧值做一个返回
System.out.println(result); //ccc
System.out.println(list); //[bbb,eve,ddd]
//查询元素
String s=list.get(0);
System.out.println(s);
System.out.println(list);
//遍历集合的长度
for(int i=0;i
集合的遍历方式
package ArrayListTest;
import java.util.ArrayList;
/*集合的遍历方式
* 需求:定义一个集合,添加字符串,并进行遍历
* 遍历格式参照[元素1,元素2,元素3]**/
public class ArrayListDemo3 {
public static void main(String[]args) {
//创建集合
ArrayList list=new ArrayList<>();
//添加元素
list.add("好好学习了吗?");
list.add("有乱发脾气吗?");
list.add("有不负光阴吗?");
list.add("有早睡早起吗?");
//遍历
System.out.println("[");
//注意这里是size,不是length
for(int i=0;i
添加数字并进行遍历
package ArrayListTest;
import java.util.ArrayList;
/*添加数字并进行遍历
* 基本数据类型对应的包装类
* byte Byte
* short Short
* char Character //用IDEA就可以关联出来
* int Integer
* long Long
* float Float
* double Double
* boolean Boolean*/
public class ArrayListTest4 {
public static void main(String[]args) {
//1.创建集合
ArrayList list=new ArrayList();
//2.添加元素
//在jdk5之后 int 和Integer之间是可以互相转化的
list.add(1);
list.add(3);
list.add(1);
list.add(4);
//遍历集合
System.out.println("[");
//注意这里是size,不是length
for(int i=0;i
添加字符并进行遍历
package ArrayListTest;
import java.util.ArrayList;
public class ArrayListTest5 {
public static void main(String[]args) {
ArrayListlist =new ArrayList<>();
list.add('a');
list.add('b');
list.add('c');
System.out.println(list);
}
}
添加学生对象并进行遍历
//刚开始在<>里面写Student的时候会报错,是因为Student还没有定义
//需要写一定java Bean来定义Student
package ArrayListTest;
import java.util.ArrayList;
/*定义一个集合,添加一些学生对象,并进行遍历
* 学生类的属性为:姓名,年龄
*/
public class ArrayListTest6 {
public static void main(String[]args) {
//创建集合
ArrayList list =new ArrayList<>();
//刚开始在<>里面写Student的时候会报错,是因为Student还没有定义
//需要写一定java Bean来定义Student
//2.创建学生对象
Student s1=new Student("zhangsan",23);
Student s2=new Student("lisi",24);
Student s3=new Student("wangwu",25);
//3.添加元素
list.add(s1);
list.add(s2);
list.add(s3);
//4.遍历元素
for(int i=0;i
学生对象的创建,一个完整的JavaBean
package ArrayListTest;
//写一个Javabean
public class Student {
//1.私有化成员变量
//2.空参构造方法
//3.带全部参数的构造方法
//4.get /set方法
private String name;
private int age;
//javabean的空参构造方法
public Student() {
}
//javabean的全参构造方法
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;
}
}