public class Demo1_Array {
/**
* * A:案例演示
* 需求:我有5个学生,请把这个5个学生的信息存储到数组中,并遍历数组,获取得到每一个学生信息。
*
Student[] arr = new Student[5]; //存储学生对象
arr[0] = new Student("张三", 23);
arr[1] = new Student("李四", 24);
arr[2] = new Student("王五", 25);
arr[3] = new Student("赵六", 26);
arr[4] = new Student("马哥", 20);
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
* B:画图演示
* 把学生数组的案例画图讲解
* 数组和集合存储引用数据类型,存的都是地址值
*/
public static void main(String[] args) {
//int[] arr = new int[5]; //创建基本数据类型数组
Student[] arr = new Student[5]; //创建引用数据类型数组
arr[0] = new Student("张三", 23); //创建一个学生对象,存储在数组的第一个位置
arr[1] = new Student("李四", 24); //创建一个学生对象,存储在数组的第二个位置
arr[2] = new Student("王五", 25); //创建一个学生对象,存储在数组的第三个位置
for(int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
}
}
public class Demo2_Collection {
/**
* * A:案例演示
*
基本功能演示
boolean add(E e)
boolean remove(Object o)
void clear()
boolean contains(Object o)
boolean isEmpty()
int size()
* B:注意:
*
collectionXxx.java使用了未经检查或不安全的操作.
注意:要了解详细信息,请使用 -Xlint:unchecked重新编译.
java编译器认为该程序存在安全隐患
温馨提示:这不是编译失败,所以先不用理会,等学了泛型你就知道了
add方法如果是List集合一直都返回true,因为List集合中是可以存储重复元素的
如果是Set集合当存储重复元素的时候,就会返回false
ArrayList的父类的父类重写toString方法,所以在打印对象的引用的时候,输出的结果不是Object类中toString的结果
*/
public static void main(String[] args) {
//demo1();
Collection c = new ArrayList();
c.add("a");
c.add("b");
c.add("c");
c.add("d");
//c.remove("b"); //删除指定元素
//c.clear(); //清空集合
//System.out.println(c.contains("b")); //判断是否包含
//System.out.println(c.isEmpty());
System.out.println(c.size()); //获取元素的个数
System.out.println(c);
}
public static void demo1() {
Collection c = new ArrayList(); //父类引用指向子类对象
boolean b1 = c.add("abc");
boolean b2 = c.add(true); //自动装箱new Boolean(true);
boolean b3 = c.add(100);
boolean b4 = c.add(new Student("张三",23));
boolean b5 = c.add("abc");
System.out.println(b1);
System.out.println(b2);
System.out.println(b3);
System.out.println(b4);
System.out.println(b5);
System.out.println(c.toString());
}
}
public class Demo3_Collection {
/**
* * A:集合的遍历
* 其实就是依次获取集合中的每一个元素。
* B:案例演示
* 把集合转成数组,可以实现集合的遍历
* toArray()
*/
public static void main(String[] args) {
//demo1();
Collection c = new ArrayList();
c.add(new Student("张三", 23)); //Object obj = new Student("张三",23);
c.add(new Student("李四", 24));
c.add(new Student("王五", 25));
c.add(new Student("赵六", 26));
Object[] arr = c.toArray(); //将集合转换成数组
for (int i = 0; i < arr.length; i++) {
//System.out.println(arr[i]);
Student s = (Student)arr[i]; //向下转型
System.out.println(s.getName() + "..." + s.getAge());
}
}
public static void demo1() {
Collection c = new ArrayList();
c.add("a");
c.add("b");
c.add("c");
c.add("d");
Object[] arr = c.toArray(); //将集合转换成数组
for(int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
}
}
public class Demo4_CollectionAll {
/**
* * A:案例演示
*
带All的功能演示
boolean addAll(Collection c)
boolean removeAll(Collection c)
boolean containsAll(Collection c)
boolean retainAll(Collection c)
*/
public static void main(String[] args) {
//demo1();
//demo2();
//demo3();
Collection c1 = new ArrayList();
c1.add("a");
c1.add("b");
c1.add("c");
c1.add("d");
Collection c2 = new ArrayList();
c2.add("a");
c2.add("b");
c2.add("c");
c2.add("d");
c2.add("e");
c2.add("f");
//取交集,如果调用的集合改变就返回true,如果调用的集合不变就返回false
boolean b = c1.retainAll(c2); //取交集
System.out.println(b);
System.out.println(c1);
}
public static void demo3() {
Collection c1 = new ArrayList();
c1.add("a");
c1.add("b");
c1.add("c");
c1.add("d");
Collection c2 = new ArrayList();
c2.add("a");
c2.add("b");
c2.add("z");
boolean b = c1.containsAll(c2); //判断调用的集合是否包含传入的集合
System.out.println(b);
}
public static void demo2() {
Collection c1 = new ArrayList();
c1.add("a");
c1.add("b");
c1.add("c");
c1.add("d");
Collection c2 = new ArrayList();
c2.add("a");
c2.add("b");
c2.add("z");
boolean b = c1.removeAll(c2); //删除的是交集
System.out.println(b);
System.out.println(c1);
}
public static void demo1() {
Collection c1 = new ArrayList();
c1.add("a");
c1.add("b");
c1.add("c");
c1.add("d");
Collection c2 = new ArrayList(); //alt + shift + r改名
c2.add("a");
c2.add("b");
c2.add("c");
c2.add("d");
//c1.addAll(c2); //将c2中的每一个元素添加到c1中
c1.add(c2); //将c2看成一个对象添加到c1中
System.out.println(c1);
}
}
public class Demo5_Iterator {
/**
* 迭代
* * A:迭代器概述
* 集合是用来存储元素,存储的元素需要查看,那么就需要迭代(遍历)
*/
public static void main(String[] args) {
//demo1();
Collection c = new ArrayList();
c.add(new Student("张三", 23)); //Object obj = new Student("张三",23);
c.add(new Student("李四", 24));
c.add(new Student("王五", 25));
c.add(new Student("赵六", 26));
//获取迭代器
Iterator it = c.iterator();
while(it.hasNext()) {
//System.out.println(it.next());
Student s = (Student)it.next(); //向下转型
System.out.println(s.getName() + "..." + s.getAge());
}
}
public static void demo1() {
Collection c = new ArrayList();
c.add("a");
c.add("b");
c.add("c");
c.add("d");
//对集合中的元素迭代(遍历)
Iterator it = c.iterator(); //获取迭代器
/*boolean b1 = it.hasNext(); //判断集合中是否有元素,有就返回true
Object obj1 = it.next();
System.out.println(b1);
System.out.println(obj1);
boolean b2 = it.hasNext(); //判断集合中是否有元素,有就返回true
Object obj2 = it.next();
System.out.println(b2);
System.out.println(obj2);*/
while(it.hasNext()) {
System.out.println(it.next());
}
}
}