一、对象数组
public class duixiangarr {
/*
* 自动生成构造方法:
* 代码区域右键 -- Source -- Generate Constructors from Superclass... 无参构造方法
* 代码区域右键 -- Source -- Generate Constructor using Fields... 带参构造方法
* 自动生成getXxx()/setXxx():
* 代码区域右键 -- Source -- Generate Getters and Setters...
*/
public static void main(String[] args) {
Studentarr[] students = new Studentarr[3];
Studentarr s1 = new Studentarr("dawang1",23);
Studentarr s2 = new Studentarr("xiaowang1",33);
Studentarr s3 = new Studentarr("erwang",10);
students[0] = s1;
students[1] = s2;
students[2] = s3;
for(int i = 0;i<students.length;i++){
Studentarr s = students[i];
System.out.println(s.getName()+"---"+s.getAge());
}
}
}
class Studentarr{
private String name;
private int age;
public Studentarr(String name, int age) {
this.name = name;
this.age = age;
}
public void setName(String name){
this.name = name;
}
public void setAge(int age){
this.age = age;
}
public String getName(){
return name;
}
public int getAge(){
return age;
}
}
二/集合
1.集合创建
import java.util.ArrayList;
public class ArrayListDemo {
public static void main(String[] args) {
//创建集合对象
ArrayList<String> array = new ArrayList<String>();
//add(E e):添加元素
array.add("hello");
array.add("world");
array.add("java");
System.out.println("array:"+array);
}
}
2.ArrayList删改查方法
import java.util.ArrayList;
/*
* 为什么会出现集合类:
* 我们学习的是面向对象编程语言,而面向对象编程语言对事物的描述都是通过对象来体现的。
* 为了方便对多个对象进行操作,我们就必须对这多个对象进行存储,而要想对多个对象进行存储,
* 就不能是一个基本的变量,而应该是一个容器类型的变量。
* 到目前为止,我们学习过了哪些容器类型的数据呢?StringBuilder,数组。
* StringBuilder的结果只能是一个字符串类型,不一定满足我们的需求。
* 所以,我们目前只能选择数组了,也就是我们前面学习过的对象数组。
* 但是,数组的长度是固定的,适应不了变化的需求,那么,我们该如何选择呢?
* 这个时候,java就提供了集合类供我们使用。
*
* 集合类的特点:
* 长度可变。
*
* ArrayList<E>:
* 大小可变数组的实现
*
* <E>:是一种特殊的数据类型,泛型。
* 怎么用呢?
* 在出现E的地方我们使用引用数据类型替换即可
* 举例:ArrayList<String>,ArrayList<Student>
*
* 构造方法:
* ArrayList()
*
* 添加元素:
* public boolean add(E e):添加元素
* public void add(int index,E element):在指定的索引处添加一个元素
* 获取元素
* public E get(int index):返回指定索引处的元素
* 集合长度
* public int size():返回集合中的元素的个数
* 删除元素
* public boolean remove(Object o):删除指定的元素,返回删除是否成功
* public E remove(int index):删除指定索引处的元素,返回被删除的元素
* 修改元素
* public E set(int index,E element):修改指定索引处的元素,返回被修改的元素
*
*
* ArrayList集合的遍历
* 通过size()和get()配合实现的
*/
public class ArrayListDemo {
public static void main(String[] args) {
//创建集合对象
ArrayList<String> array = new ArrayList<String>();
//add(E e):添加元素
array.add("hello");
array.add("world");
array.add("java");
//获取元素
System.out.println("arrayget::"+array.get(0));
System.out.println("arrayget::"+array.get(1));
System.out.println("arrayget::"+array.get(2));
//元素个数
System.out.println("arraysize::"+array.size());
//修改
array.set(2,"java");
System.out.println("arrayset::"+array);//arrayset::[hello, world, java]
//删除元素
System.out.println("arrayremove::"+array.remove("hello"));
System.out.println("array:"+array);//array:[world, java]
System.out.println("arrayremove::"+array.remove(1));
System.out.println("array:"+array);//array:[world]
//遍历
ArrayList<String> array2 = new ArrayList<String>();
array2.add("hello");
array2.add("world");
array2.add("java");
for (int i = 0;i<array2.size();i++){
System.out.println("array2get::"+array2.get(i));
}
System.out.println("----------");
}
}