实例1:
设计一个String类型的集合,实现添加元素、获取元素、获取集合元素个数的功能
1.创建一个MyArrayList的类
public class MyArrayList {
//定于一个String类型的数组
private String[] arrays = new String[3];
private int size = 0;
public void add(String obj) {
//当数组元素大于设定元素值10,将元素扩大到原来的1.5倍;
if (size == arrays.length) {
String[] temp=new String[arrays.length*arrays.length/2];
for(int i=0;i<size;i++){
temp[i]=arrays[i];
}
arrays=temp;
}
arrays[size] = obj;
size++;
}
//获取集合元素值
public String value(int index) {
return arrays[index];
}
//获取集合元素个数
public int Length() {
return size;
}
}
2.创建一个测试类Test调用MyArrayList方法
public class Test {
public static void main(String[] args) {
//实例化对象
MyArrayList arrs=new MyArrayList();
//添加元素
arrs.add("小明1");
arrs.add("小花2");
arrs.add("小花3");
arrs.add("小花4");
//循环输出
for(int i=0;i<arrs.Length();i++){
System.out.println(arrs.value(i));
}
}
}
实例2:
设计一个接收对象类型的集合,实现添加元素、获取元素、获取集合元素个数的功能
1.创建一个Student的封装对象
public class Student {
private String name;
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;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
private int age;
private String sex;
}
2.创建一个接收Student对象的数组
public class MyArrayList {
//定于一个Object类型的数组
private Object[] arrays = new Object[3];
private int size = 0;
public void add(Object obj) {
//当数组元素大于设定元素值10,将元素扩大到原来的1.5倍;
if (size == arrays.length) {
Object[] temp=new Object[arrays.length*arrays.length/2];
for(int i=0;i<size;i++){
temp[i]=arrays[i];
}
arrays=temp;
}
arrays[size] = obj;
size++;
}
//获取集合元素值
public Object value(int index) {
return arrays[index];
}
//获取集合元素个数
public int Length() {
return size;
}
}
3.创建主类Test调用方法
public class Test {
public static void main(String[] args) {
// 实例化对象
MyArrayList arrs = new MyArrayList();
Student stu = new Student();
stu.setName("校长");
stu.setAge(20);
stu.setSex("男");
arrs.add(stu);
// 添加元素
arrs.add("小明1");
arrs.add("小花2");
arrs.add("小花3");
arrs.add("小花4");
// 循环输出
for (int i = 0; i < arrs.Length(); i++) {
if (arrs.value(i) instanceof Student) {
System.out.print(((Student) arrs.value(i)).getName());
System.out.print(((Student) arrs.value(i)).getSex());
System.out.println(((Student) arrs.value(i)).getAge());
} else {
System.out.println(arrs.value(i));
}
}
}
}
实例3:
创建一个泛型集合可以放任何的数据
1.创建Student封装类
public class Student {
private String name;
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;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
private int age;
private String sex;
}
2.创建方法类MyArrayList,
public class MyArrayList<E> {
//定于一个<泛型>类型的数组
private E [] arrays = (E[])new Object[3];
private int size = 0;
public void add(E obj) {
//当数组元素大于设定元素值10,将元素扩大到原来的1.5倍;
if (size == arrays.length) {
E[] temp= (E[]) new Object[arrays.length*arrays.length/2];
for(int i=0;i<size;i++){
temp[i]=arrays[i];
}
arrays=temp;
}
arrays[size] = obj;
size++;
}
//获取集合元素值
public E value(int index) {
return arrays[index];
}
//获取集合元素个数
public int Length() {
return size;
}
}
3.测试类Test
public class Test {
public static void main(String[] args) {
// 实例化对象
MyArrayList<Student> arrs = new MyArrayList<Student>();
Student stu = new Student();
stu.setName("校长");
stu.setAge(20);
stu.setSex("男");
arrs.add(stu);
// 循环输出
for (int i = 0; i < arrs.Length(); i++) {
System.out.print(((Student) arrs.value(i)).getName());
System.out.print(((Student) arrs.value(i)).getSex());
System.out.println(((Student) arrs.value(i)).getAge());
}
}
}