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. 相对导入中Attempted relative import in non-package问题

    这一篇应该是解释的比较清楚: http://stackoverflow.com/questions/14664313/attempted-relative-import-in-non-package- ...

  2. 【转载】探寻C++最快的读取文件的方案

    原文地址:https://www.byvoid.com/blog/fast-readfile/ 在竞赛中,遇到大数据时,往往读文件成了程序运行速度的瓶颈,需要更快的读取方式.相信几乎所有的C++学习者 ...

  3. Android 从上层到底层-----jni层

    CPU:RK3288 系统:Android 5.1 功能:上层 app 控制 led 亮灭 开发板:Firefly RK3288 led_jni.h path:hardware/rockchip/fi ...

  4. ElasticSearch读取查询结果(search)

    本文转载自:http://blog.csdn.net/wangxiaotongfan/article/details/46531729?locationNum=6 在es中所有的查询结果都会保存在Se ...

  5. php中将数组转换为指定符号分割的字符串

    如想将一个数组转换为以“,”分割的字符串,只需如下: implode(',', arr);

  6. C++ 新特性-右值引用

    作为最重要的一项语言特性,右值引用(rvalue references)被引入到 C++0x中.我们可以通过操作符“&&”来声明一个右值引用,原先在C++中使用“&”操作符声明 ...

  7. Docker - 使用Swarm和compose部署服务(containers)

    前言 在之前使用Docker的过程中,一直是用 Docker run 命令单独启动container后再加入Overlay网络的方式实现部署工作的. 这种方式看似直接,但是随着服务所包含的contai ...

  8. 我编辑的JAVA日历程序

    class calendar { public static void main(String[]args) { int yearIn ; yearIn = Integer.parseInt(args ...

  9. sram的读和写

    sram的型号:ISSI IS61LV25616 -10TL 以上是数据手册上的. 对sram的认识:SRAM不需要刷新电路即能保存它内部存储的数据.而DRAM(Dynamic Random Acce ...

  10. win系统主机上的虚拟机NAT模式可修改3389端口做远程登录

    当你只有一个公网IP的时候,那么这个IP基本上是要分给物理主机的,那么本机的虚拟机就只能选NAT网络模式了,那么想在外网直接远程虚拟机的话,修改虚拟机的远程登录端口(不修改也可以,主要是主机的3389 ...