A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 坏坏坏男孩 中级黑马   /  2016-7-20 00:00  /  695 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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());
                               
                        }
                         
                         }

}

7 个回复

倒序浏览
大神你想表达什么!
回复 使用道具 举报
jmf332376308 发表于 2016-7-20 00:02
大神你想表达什么!

什么不不想表达呢,就是练完笔记没事了,随手发一下...
回复 使用道具 举报
先给楼主点个赞,楼主有精力的话  能把 不用迭代器 普通For遍历集合,增强For遍历,还有不重写toString方法 对集合对象的遍历及输出。 求总结 以及笔记
回复 使用道具 举报
6666666666666
回复 使用道具 举报
yin12310 发表于 2016-7-20 20:45
先给楼主点个赞,楼主有精力的话  能把 不用迭代器 普通For遍历集合,增强For遍历,还有不重写toString方法 ...

你别说我还真有......
回复 使用道具 举报

没事就胡乱发发
回复 使用道具 举报
大神,你有总结的老师讲的面试题吗?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马