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. 开发中常见的ES6语句

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  2. Sprint第一个冲刺(第八天)

    一.Sprint介绍 完善点餐界面,点击进行跳转. 实验截图: 任务进度: 二.Sprint周期 看板: 燃尽图:

  3. nginx 使用ctx实现数据共享,修改上下文

    环境: init_worker_by_lua, set_by_lua, rewrite_by_lua, access_by_lua, content_by_lua, header_filter_by_ ...

  4. webpack 使用 extract-text-webpack-plugin 报错 Tapable.plugin is deprecated. Use new API on .hooks instead

    webpack 使用 extract-text-webpack-plugin 报错 Tapable.plugin is deprecated. Use new API on .hooks instea ...

  5. 【转载】最短路径—Dijkstra算法和Floyd算法

    注意:以下代码 只是描述思路,没有测试过!! Dijkstra算法 1.定义概览 Dijkstra(迪杰斯特拉)算法是典型的单源最短路径算法,用于计算一个节点到其他所有节点的最短路径.主要特点是以起始 ...

  6. xunsearch安装及环境检测(一)

    1.运行执行下载解压安装包wget http://www.xunsearch.com/download/xunsearch-full-latest.tar.bz2解压到指定目录 tar -xjf xu ...

  7. OpenCV在debug和release模式下选择不同的lib静态库文件

    这两天测试OpenCV显示到MFC的Picture控件上,终于测试成功了,但是换到release模式下就会imread失败.发现问题是导入的lib问题. 因为VS如果通过Property Manage ...

  8. "锁"

    “锁”,指的是状态切换,状态未切换完成,加上锁,完成后才打开锁. 下面例子要完成一个点击按钮切换颜色的小示例,先看未加“锁”时候的效果 <!DOCTYPE html> <html l ...

  9. java基础-构建命令行运行的java程序简要注意

    今天编写了一个运行在服务端的java工具类,才发现自己以前很少关注运营方面的内容,导致在服务端部署一个java的工具变得异常困难,其实这也是自己对java的了解不够造成的. 首先,当代码编写完成之后, ...

  10. canvas之抒写文字

    <canvas id="canvas" width="500" height="400" style="background ...