JAVA中集合的遍历的一种方法时集合转数组遍历,也是就调用Collection中的toArray().

代码:

public static void main(String[] args) {
        // TODO Auto-generated method stub
        Collection c=new ArrayList();
        c.add(new Student("kj",12));
        c.add(new Student("uj",13));
        c.add(new Student("tj",15));
        c.add(new Student("cj",14));
        
        Object[]ob= c.toArray();//将集合转换为数组
        
        for(int i=0;i<ob.length;i++){
            Student s=(Student)ob[i];
            System.out.println(s.getName()+"..."+s.getAge());
        }

}

运行结果:

kj...12
uj...13
tj...15
cj...14

需要注意的是集合转数组进行遍历的时候调用toArray()方法,需要声明一个Object类的数组对象。当集合所装的类型为对象时,不能直接通过调用对象类的方法拿到对象参数,因为就算存储的是Student对象,已近提升成为了Object。多态的弊端就是,不能使用子类的属性和方法。如果想使用子类的属性和方法,就需要对ob这个Oject数组进行转级,也就是,类型强转。 Student s=(Student)ob[i]。这样做的好处是,我可以遍历Student的所有元素,并对它进行操作。

JAVA中集合转数组遍历的更多相关文章

  1. java 中集合和数组互相转换

    package test; import java.util.Arrays;import java.util.List; /** * Created by Administrator on 2016/ ...

  2. java中集合,数组,字符串相互转换

    数组转List String[] staffs = new String[]{"Tom", "Bob", "Jane"}; List sta ...

  3. Java中forEach, 用来遍历数组

    这里的for是Java中forEach, 用来遍历数组的.for(int i : d) 就是遍历int型数组d的 每一次访问数组d的时候读取的数据放入int型的i中.和for(int i=0;i< ...

  4. Java中集合的概述

    一.集合和数组的区别 1.数组(可以存储基本数据类型)是用来存现对象的一种容器,但是数组的长度固定,不适合在对象数量未知的情况下使用. 2.集合(只能存储对象,对象类型可以不一样)的长度可变,可在多数 ...

  5. java中集合Collection转list对象

    参考:java中集合Collection转list对象 首先我的需求是获取到购物车列表,购物车列表是一个Map对象,构造方法获取购物项,这里购物项是Collection对象 // 购物项集合,K商品I ...

  6. 在Java中怎样把数组转换为ArrayList?

    翻译自:How to Convert Array to ArrayList in Java? 本文分析了Stack Overflow上最热门的的一个问题的答案,提问者获得了很多声望点,使得他得到了在S ...

  7. Java中集合List,Map和Set的区别

    Java中集合List,Map和Set的区别 1.List和Set的父接口是Collection,而Map不是 2.List中的元素是有序的,可以重复的 3.Map是Key-Value映射关系,且Ke ...

  8. Java中list如何利用遍历进行删除操作

    转: Java中list如何利用遍历进行删除操作 2018年03月31日 10:23:41 Little White_007 阅读数:3874   Java三种遍历如何进行list的便利删除: 1.f ...

  9. Java中集合List,Map和Set的差别

    Java中集合List,Map和Set的差别 1.List和Set的父接口是Collection.而Map不是 2.List中的元素是有序的,能够反复的 3.Map是Key-Value映射关系,且Ke ...

随机推荐

  1. LG4475 巧克力王国

    题意 巧克力王国里的巧克力都是由牛奶和可可做成的.但是并不是每一块巧克力都受王国人民的欢迎,因为大家都不喜欢过于甜的巧克力. 对于每一块巧克力,我们设 x 和 y 为其牛奶和可可的含量.由于每个人对于 ...

  2. 洛谷 P3802 小魔女帕琪

    传送门 题目大意:7个东西,每个有ai个,只有选7次 把7个东西都选到了才行. 题解:7!排列数*每次选择的概率 代码: #include<iostream> #include<cs ...

  3. Lua在Linux下的安装

    转载于:http://blog.csdn.net/aizquan/article/details/21190393 本来这个很简单,但常常会偶尔会有问题,也记不住,所以就直接转下来,以后方便遇到的时候 ...

  4. Python 函数 -xrange()

    xrange() xrange() 函数用法与 range 完全相同,所不同的是生成的不是一个数组,而是一个生成器. 语法: xrange(stop) xrange(start, stop[, ste ...

  5. 【转】Eclipse的启动问题【an error has occurred see the log file】

    原文网址:http://coderlin.blog.51cto.com/7386328/1275215 方法1: 今天打开Eclipse的时候出现来了一个问题,导致了Eclipse打不开 错误的提示是 ...

  6. 电脑桌面文件图标经常显示异常&&右键桌面文件属性不显示

    桌面图标经常失效,但文件可以正常点开使用. 右键桌面文件的属性,电脑无反应. 解决方法 ① cmd-sfc/scannow 此方法无效 ② 点击上图的运行疑难解答,最终找到问题,重启后解决! PS 型 ...

  7. git 查看&修改用户名

    $ git config user.name   查看用户名 $ git config user.email   查看邮箱 $ git config --global user.name " ...

  8. 问题排查-JVM堆外内存问题排查

    首先确认堆占用 jmap 查看heap内存使用情况 jmap -heap pid 1 可以查看到MetaspaceSize,CompressedClassSpaceSize,MaxMetaSize j ...

  9. nginx基于TCP的反向代理

    一.4层的负载均衡 Nginx Plus的商业授权版开始具有TCP负载均衡的功能.从Nginx 1.7.7版本开始加入的,现在变成了一个商业收费版本,想要试用,需要在官网申请.也就是说,Nginx除了 ...

  10. javscript踩过的坑 - 记录

    1. js中, ‘==’ 运算符是对大小写敏感的