Collection集合

                                 Collection集合

     以前被告诉说,导图要画的简练,越少越好,找出的联系越多越好,可是仔细回想一下,对以前画的图是一点印象都没有,都是为了达到要求而画图,不是为了让自己的思路清晰而画图,今天画思维导图的时候突然想到,我画图到底是为了什么,是为了让别人看还是让自己学会,画出的图很简练,看起来总结的是很好,可是别人看到了真的只是是什么吗,自己看到以后真的能想起来吗?画图还是要根据自己的思想来画,为自己画图才是最重要的,自己学会也才是最重要的,图画的是很好,可是脑子里什么都没有留下也都是无用的。下边的图,是按照自己的思路画的一个比较大的图。虽然看起来很臃肿,但是我的思路很清楚。
下边是对collection结合的其余内容的补充:

集合遍历的两种方法

使用Iterator迭代器:

     Collection集合元素的通用获取方式:在取元素之前先要判断集合中有没有元素,如果有,就把这个元素取出来,继续在判断,如果还有就再取出出来。一直把集合中的所有元素全部取出。这种取出方式专业术语称为迭代。集合中把这种取元素的方式描述在Iterator接口中。Iterator接口的常用方法如下:

   hasNext()方法:用来判断集合中是否有下一个元素可以迭代。如果返回true,说明可             以迭代。

   next()方法:用来返回迭代的下一个元素,并把指针向后移动一位。

  注意:next()方法指挥指针的移动,指针移动到最后就不能返回。。

  在Collection接口描述了一个抽象方法iterator方法,所有Collection子类都实现了这个方   法,并且有自己的迭代形式。

代码展示:

//1,创建集合对象。
Collection<String> coll = new ArrayList<String>();
coll.add("abc1");
coll.add("abc2");
coll.add("abc3");
coll.add("abc4");

//2.获取容器的迭代器对象。通过iterator方法。
Iterator it = coll.iterator();

//3,使用具体的迭代器对象获取集合中的元素。参阅迭代器的方法
while(it.hasNext()){
	System.out.println(it.next());
}


迭代器for循环的形式的使用
for (Iterator it = coll.iterator(); it.hasNext();  ) {
	System.out.println(it.next());
}
注意:在进行集合元素取出时,如果集合中已经没有元素了,还继续使用迭代器的next         方法,将会发生java.util.NoSuchElementException没有集合元素的错误。所以,           hasnext()方法和next()方法,两个方法要成对出现。

增强for循环:

增强for循环是JDK1.5以后出来的一个高级for循环,专门用来遍历数组和集合的。它的内部原理其实是个Iterator迭代器,所以在遍历的过程中,不能对集合中的元素进行增删操作。

格式:

for(元素的数据类型 变量 : Collection集合or数组){

}

练习一:遍历数组

int[] arr = new int[]{11,22,33};
for (int n : arr) {//变量n代表被遍历到的数组元素
	System.out.println(n);
}

好处:代码少,可以方便的对容器进行遍历。

弊端:没有索引,不能对容器中的某个元素进行操作。

泛型:

1、泛型: 用来约束数据的数据类型

2、泛型的格式:

              <数据类型>

              泛型可以使用在 类,接口,方法上

  3、泛型的好处

              A:将运行期遇到的问题转移到了编译期

              B:省去了类型强转的麻烦

              C、带来了增强for循环的使用

4、泛型高级(通配符):

    ? extends E 上限限定,传递E类对象, E的子类对象

    ? Super E   下限限定,传递E类对象,E的父类对象



 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 10
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值