package com.heima;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import com.heima.bean.Student;
public class test1_jihe {
/*
* 1 练习 Collection 里面非All的共性方法 两边
1.1 自己默写出集合体系,并且把它们的特点加上
2 使用集合存储字符串并且遍历(迭代器方式)
3 使用集合储存自定义对象并遍历(迭代器)
4 (最后有时间练习 集合转数组,再遍历数组的方式遍历集合)
*/
/* collection 是抽象的,里面包含两个子类也是抽像的,一个是list类其特点是:有索引,有序性即存入时和输出时有一定的顺序.里面可以有重复的元素.
里面包含着三个非抽象子类,一个是Arraylist,一个是linkList ,和vevtor.另一个抽象类是set 他的特点是无序性,无索引,里面如果有相同的元素师胡返回false,
里面包含两个飞抽象子类,一个是treeset 和hashset,*/
public static void main(String[] args) {
//使用集合存储字符并且遍历,
//创建集合
Collection c = new ArrayList(); //创建一个集合
//为集合添加对象原本前面有一个boolean ,因为这个子类返回的一直都是true所以 可以把前面的boolean省去.直接用对象名点来调用.
c.add("a");
c.add("b");
c.add("g");
c.add("ab");
c.add("ag");
//对集合进行遍历并输出元素.首先创建迭代器,因为迭代去返回时自己本身,所以要用自己来接收,用对象名点来调用.
Iterator it = c.iterator();
//判断集合里面是是否有元素,hasnext() 他返回的是一个布尔型的数据以内如果有元素的话就返回true镁元素的话就返回false,
boolean b = it.hasNext();
//如果有元素就输出元素
System.out.println(c);
//练习collectiong 里面的基本方法,其中包含add()向集合里面添加对象,remove()把集合里面的指定元素给移除出去,contains()方法是判断集合里面是否包含指定对象
//如果是为true否则为false还有一个就是isEmpty 判断是否元素为空,如果为空的话就返回true否则返回false
//练习remove方法
c.remove("ab"); //去掉指定元素.
System.out.println(c);
//检测是否包含指定元素
boolean b1 = c.contains("ag");
boolean b2 = c.contains("abc");
System.out.println("b2="+b2);
System.out.println("b1="+b1);
//练习是否为空
boolean b3 = c.isEmpty();
System.out.println("b3="+b3);
/*
* 总结collection里面包含了四种基本方法就是"添加","移除""包含" "为空判断""清空为clear "看集合的长度用size"
*/
//自定义一个类来存储在集合里面.首先定义一个集合方法同上
Collection c2 = new ArrayList();
//向里面存储对象
//Student s= new Student();
c2.add(new Student("张三",23)); //这是利用有有参构造来实现对对象的输出
c2.add(new Student("李四",24));
c2.add(new Student("赵五",25));
System.out.println(c2);
//利用迭代器输出集合里面的元素先构造迭代器,利用Iterator 来创建迭代器,因为迭代器返回的值是需要用自己本身来接受所以就要创建一个有自己来接受的路径
//Iterator: "好他妈辛苦 啊!"
Iterator it2 = c2.iterator();
//判断集合里面是否有元素.用的是hasnext()方法,返回的是布尔型的所以要定义一个布尔型的变量来接受.
// boolean b4 =it2.hasNext(); //判断集合里面是否有元素,有的话就返回true 没有话就返回false.
// System.out.println("b4="+b4);
//要输出集合里面的数用
//下面把他转换成字符串然后用遍历输出.转换成字符串用toArray因为是字符所以要用一个字符串来接收
while (it2.hasNext()) {
System.out.println(it2.next());
}
}
}
|
|