Java——集合转数组并对其进行遍历

 * A:集合的遍历*      其实就是以此获取集合中的每一个元素* B:案例*      把集合转成数组,可以实现集合的遍历*      public Object[] toArray() 按适当顺序(从第一个到最后一个元素)返回包含此列表中所有元素的数组。 
package com.wsq.bean;
//创建Student类
public class Student {private String name;private int age;public Student() {super();}public Student(String name, int age) {super();this.name = name;this.age = age;}public String getName() {return name;}public void setNaem(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}@Overridepublic String toString() {      //这里得重写toString方法return "Student [naem=" + name + ", age=" + age + "]";}}
package com.wsq.collection;import java.util.ArrayList;
import java.util.Collection;
import com.wsq.bean.Student;
public class Demo3_Collection {public static void main(String[] args) {demo1();demo2();}private static void demo2() {                        //往集合中存储自定义对象,自定义对象也就是:我们自己定义一个类,然后创建对象Collection c = new ArrayList();c.add(new Student("张三",23));                    //object obj = new student("张三",23);  父类引用指向子类对象c.add(new Student("李四",24));                    //向集合里面添加Studen类对象c.add(new Student("王五",25));                    //集合里面添加的都是Object类对象c.add(new Student("赵六",26));//这里若如果直接打印c,就相当于调用c的toString方法,把结果给显示一下结果而已Object [] arr = c.toArray();                    //将集合转换成数组,全部转换为Object数组,调用c.toArray()这个方法;返回的对象数组为Object类型,所以应该用Object数组去接收for (int i = 0; i < arr.length; i++) {          //对该数组进行遍历//System.out.println(arr[i]);               //输出每一个自定义对象//打印arr这个数组,就相当于调用toString方法,可以很直接的去显示属性值,只是为了显示一下//当把Student类对象添加进来的时候,做一个类型提升,提升为Object类,然后集合转换为数组也是Object类,现在想要拿到每个Student类里面的getName和getAge,就需要向下转型Student s = (Student)arr[i];                //向下转型//因为Object [] arr = c.toArray();这里的c.toArray()集合是用Object类型的数组接收的,new Student("张三",23),在添加的时候,Student对象以及提升为Object//多态的弊端:不能使用子类特有的属性和行为,Object类里面没有getName和getAge这样的方法的,但是我们自定义的Student类里面有,所以要向下转型  System.out.println(s.getName() + "..." + s.getAge());//通过getName和getAge来获取姓名和年龄//getName和getAge方法是可以把值给获取过来,可以打印也可以不打印,可以获取到进行打印,也可以拿到进行赋值,或者进行存储或者进行别的操作,相对toString来说更灵活}
}public static void demo1(){                     //往集合里存储字符串,然后把集合转成数组,可以实现集合的遍历Collection c = new ArrayList();             //创建一个集合对象c,父类引用指向子类对象 c.add("a");                                 //向集合里面添加元素c.add("b");c.add("c");c.add("d");Object[] arr = c.toArray();                 //将集合转换成数组,调用c.toArray()这个方法;返回的对象数组为Object类型,所以应该用Object数组去接收for(int i= 0;i<arr.length;i++){             //上一步,已将集合转化成了数组,直接for循环打印即可System.out.println(arr[i]);             //打印每一个元素}}}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/379891.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

鱼油账号记录程序(续) - 零基础入门学习Delphi39

鱼油账号记录程序&#xff08;续&#xff09; 让编程改变世界 Change the world by program 课件同上一讲&#xff0c;这一讲主要演示编程操作和修改程序&#xff01; [buy] 获得所有教学视频、课件、源代码等资源打包 [/buy] [Downlink hrefhttp://kuai.xunlei.com/d/LDKX…

python---Socket编程

Sockte是计算机之间进行网络通信的一套程序接口&#xff0c;相当于在发送端和接收端之间建立一个通信管道。在实际应用中&#xff0c;一些远程管理软件和网络安全软件大多数依赖于Socket来实现特定功能&#xff0c;由于TCP方式在网络编程中应用非常频繁&#xff0c;此处将对TCP…

格式转换-----PDF格式研究笔记(一)

格式转换-----PDF格式研究笔记&#xff08;一&#xff09; 现在我的几个计划都需要我能够对PDF格式进行解码&#xff0c;所以找了一下资料&#xff0c;找到了一个PDF1.3的手册&#xff0c;特放出下载&#xff0c;如果谁有更高版本的&#xff0c;请给我一份&#xff0c;谢谢。 …

(X)HTML嵌套规则

本文整理于互联网~ 简单认识了块元素和内嵌元素以后&#xff0c;下面就可以罗列 XHTML 标签的嵌套规则了&#xff1a; 1. 块元素可以包含内联元素或某些块元素&#xff0c;但内联元素却不能包含块元素&#xff0c;它只能包含其它的内联元素&#xff1a;<div><h1>&…

Java——集合带All的功能演示

package com.wsq.collection;import java.util.ArrayList; import java.util.Collection; public class Demo4_CollectionAll {public static void main(String[] args) {demo1(); //c1.addAll(c2);将c2整个集合给添加到c1中,即&#xff0c;c2集合中的每…

ASP.NET Web API 处理架构

这篇文章主要是介绍ASP.NET Web API的处理架构&#xff1a;当一个HTTP请求到达直到产生一个请求的过程。ASP.NET Web API 的处理架构图如下&#xff0c;主要有三层组成&#xff1a;宿主&#xff08;hosting&#xff09;&#xff0c;消息处理管道&#xff08;message handler pi…

python---可执行文件的转换

pyinstaller是常见的执行文件打包工具。该工具的安装方式非常简单&#xff0c;可运行在windows、MacOS X和GNU/Linux操作系统环境中&#xff0c;执行python2和python3。 用pyinstaller打包的执行文件&#xff0c;只能在于执行打包操作的系统类型相同的环境下运行。也就是说&…

Java——集合的遍历之迭代遍历

这些是下面的代码中所涉及到的所有方法&#xff1a;* 迭代概述:* 集合是用来存储元素&#xff0c;存储的元素需要查看&#xff0c;那么就需要迭代(遍历)* 也就是说&#xff0c;迭代就是遍历* * public interface Iterator<E> 对 collection 进行迭代的迭代器* …

数组排序最小复杂度_进行排序的最小缺失数

数组排序最小复杂度Problem statement: 问题陈述&#xff1a; Given an array of n integers. Find the minimum number of elements from the array to remove or delete so that when the remaining elements are placed in the same sequence order form a sorted sequence…

轻松掌握Windows窗体间的数据交互(转载)

轻松掌握Windows窗体间的数据交互作者&#xff1a;郑佐日期&#xff1a;2004-04-05Windows 窗体是用于 Microsoft Windows 应用程序开发的、基于 .NET Framework 的新平台。此框架提供一个有条理的、面向对象的、可扩展的类集&#xff0c;它使您得以开发丰富的 Windows 应用程序…

MATLAB安装问题解决方案大集锦

我的安装后的两个问题 第一个&#xff1a;“Microsoft Visual C Runtime LibraryRuntime Error!Program:C:\Matlab7\Rin\Win32\Matlab.exeThis application has requested the runtime to terminate it in an unusual way.Please contact the applications support team for mo…

python免杀技术---shellcode的加载与执行

0x01 生成shellcode 首先通过下列命令生成一个shellcode&#xff0c;使用msfvenom -p选项来指定paylaod&#xff0c;这里选用windows/x64、exec模块接收的参数。使用calc.exe执行弹出计算器的操作。-f选项用来执行生成的shellcdoe的编译语言。 msfvenom -p windows/x64/exec …

成对的歌曲,其总持续时间可被60整除

Problem statement: 问题陈述&#xff1a; In a list of songs, the i-th song has duration of time[i] seconds. Return the number of pairs of songs for which their total duration in seconds is divisible by 60. Formally, we want the number of indices i < j w…

Qt中QTableWidget用法总结

QTableWidget是QT程序中常用的显示数据表格的空间&#xff0c;很类似于VC、C#中的DataGrid。说到QTableWidget&#xff0c;就必须讲一下它跟QTabelView的区别了。QTableWidget是QTableView的子类&#xff0c;主要的区别是QTableView可以使用自定义的数据模型来显示内容(也就是先…

[转]软件架构师书单

"其实中国程序员&#xff0c;现在最需要的是一张安静的书桌。"&#xff0c;的确&#xff0c;中国架构师大多缺乏系统的基础知识&#xff0c;与其自欺欺人的宣扬"读书无用&#xff0c;重在实践变通&#xff0c;修身立命哲学书更重要"&#xff0c;把大好时间…

Java——List集合特有的功能

* List也是一个接口&#xff0c;这说明List不能new&#xff0c;其中它有一个子类ArrayList&#xff0c;所以&#xff0c;就可以父类引用指向子类对象调用* List里面特有的方法&#xff1a;* * void add(int index,E element)在列表的指定位置插入指定元素&#xff08;可选操作&…

python免杀技术---复现+改进----1

0x01 复现 复现文章&#xff1a;https://mp.weixin.qq.com/s?__bizMzI3MzUwMTQwNg&mid2247484733&idx2&sn5b8f439c2998ce089eb44541d2da7a15&chksmeb231%E2%80%A6 首先用cobaltstruke生成一个python的payload脚本 然后复制里面的payload进行Base64编码&…

python掷骰子_用于掷骰子的Python程序(2人骰子游戏)

python掷骰子Here, we will be going to design a very simple and easy game and implement it using abstract data class. The code consists of two different classes (The base of the whole program). The one will be the class for the player and others will be for…

ForeignKey和ManyToManyField的限制关系

authorsmodels.ManyToManyField(Author,limit_choice_to{name__endswith:Smith}这样可以更方便的查询。转载于:https://www.cnblogs.com/chenjianhong/archive/2012/03/22/4145158.html

linux 目录命令_Linux目录命令能力问题和解答

linux 目录命令This section contains Aptitude Questions and Answers on Linux Directory Commands. 本节包含有关Linux目录命令的 Aptitude问答。 1) There are the following statements that are given which of them are correct about Linux commands? In the Linux o…