精华内容
下载资源
问答
  • Java数组可以存储对象吗?
    千次阅读
    2021-02-13 02:15:38

    数组是一个容器,可以存放固定数量的项目,这些项目应该是相同的类型。大多数数据结构使用数组来实现它们的算法。以下是理解数组概念的重要术语。元素:存储在数组中的每个项目都称为元素。

    索引:数组中元素的每个位置都有一个数字索引,用于标识元素。

    在数组中存储对象

    是的,因为在Java中对象也被视为数据类型(引用),所以您可以创建特定类类型的数组,并用该类的实例填充它。

    示例

    下面的 Java 示例有一个名为 Std 的类,稍后在程序中,我们将创建一个 Std 类型的数组,填充它,并调用该数组所有元素上的一个方法。class Std {

    private static int year = 2018;

    private String name;

    private int age;

    public Std(String name, int age){

    this.name = name;

    this.age = age;

    }

    public void setName(String name) {

    this.name = name;

    }

    public void setAge(int age) {

    this.age = age;

    }

    public void display(){

    System.out.println("Name: "+this.name);

    System.out.println("Age: "+this.age);

    System.out.println("Year: "+Std.year);

    }

    }

    public class Sample {

    public static void main(String args[]) throws Exception {

    //创建一个数组来存储Std类型的对象

    Std st[] = new Std[4];

    //填充数组

    st[0] = new Std("Bala", 18);

    st[1] = new Std("Rama", 17);

    st[2] = new Std("Raju", 15);

    st[3] = new Std("Raghav", 20);

    //在数组中的每个对象上调用display方法

    for(int i = 0; i

    st[i].display();

    System.out.println(" ");

    }

    }

    }

    输出结果Name: Bala

    Age: 18

    Year: 2018

    Name: Rama

    Age: 17

    Year: 2018

    Name: Raju

    Age: 15

    Year: 2018

    Name: Raghav

    Age: 20

    Year: 2018

    更多相关内容
  • vb中的sortedList和java中的 vb中sortedList集合了数组和散列表的特征,可以像数组,ArrayList等索引获取值,也可以像hashtable,hashmap等散列表通过键值对获取值 随机推荐 QQ--模拟登录 QQ--模拟登录 使用PC端模拟...

    public class ClassArrayDemo {

    int age;

    String name;

    ClassArrayDemo(int age, String name) {

    this.age = age;

    this.name = name;

    }

    @Override

    public String toString() {

    return "[" + name + "," + age + "]";

    }

    public static void main(String[] args) {

    ClassArrayDemo[] t = new ClassArrayDemo[3];

    t[0] = new ClassArrayDemo(18, "zs");

    t[1] = new ClassArrayDemo(19, "ls");

    t[2] = new ClassArrayDemo(20, "ww");

    for (int i = 0; i < t.length; i++) {

    System.out.println(t[i]);

    }

    }

    }

    结果:

    [zs,18]

    [ls,19]

    [ww,20]

    JVM中,对象在内存中的布局

    在hotSpot虚拟机中,对象在内存中的布局可以分成对象头.实例数据.对齐填充三部分. 对象头:主要包括: 1.对象自身的运行行元数据,比如哈希码.GC分代年龄.锁状态标志等,这部分长度在32位虚拟机 ...

    【学习笔记】Java中生成对象的5中方法

    概述:本文介绍以下java五种创建对象的方式: 1.用new语句创建对象,这是最常用的创建对象的方式. 2.使用Class类的newInstance方法 3.运用反射手段,调用java.lang.re ...

    &lbrack;转&rsqb;JAVA程序执行顺序,你了解了吗:JAVA中执行顺序,JAVA中赋值顺序

    本文主要介绍以下两块内容的执行顺序,熟悉的大虾可以直接飘过. 一.JAVA中执行顺序 静态块 块 构造器 父类构造器 二.JAVA中赋值顺序 静态块直接赋值 块直接赋值 父类继承的属性已赋值 静态变量 ...

    C&num;中的Attribute和Java中的Annotation

    在之前的博客中介绍过C#的Attribute(特性),简单的说,特性主要就是利用反射技术,在运行期获取关注类的相关标注信息,然后利用这些标注信息对关注的类进行处理,最近因为工作的原因,需要看一下Jav ...

    JNI系列——C文件中的方法调用Java中方法

    1.创建xxx.jni包并在该包下实现一些Java的方法,和要调用的本地方法 2.实现MainActivity中的按钮点击事件-即点击按钮调用本地的方法 3.在C文件中的方法中回调Java的方法 3. ...

    OC中的&commat;interface和java中的区别以及 &commat;implementation &commat;protocol

    java 在java中的interface是‘接口’的意思,而java的类声明用class,即接口用interface声明,类是用class声明,是两个独立的部分. 只有在类声明要实现某个接口时, ...

    C&plus;&plus;中如何实现像Java中接口功能--C&plus;&plus;抽象类&lpar;纯虚函数,虚函数&rpar;

    在Java中定义个接口,之后可以定义不同的类来实现接口,如果有个函数的参数为这个接口的话,就可以对各自的类做出不同的响应. 如: interface animal { public void info ...

    python 中的sort 和java中的Collections&period;sort&lpar;&rpar;函数的使用

    x=[1,2,3] x.sort()对的,x这个都变了 y=x.sort()错误 y=sorted(x)对的,x拍好序的一个副本 python中用匿名函数和自定义函数排序:(很奇怪的是比较函数返回的是 ...

    vb中的sortedList和java中的

    vb中sortedList集合了数组和散列表的特征,可以像数组,ArrayList等索引获取值,也可以像hashtable,hashmap等散列表通过键值对获取值

    随机推荐

    QQ--模拟登录

    QQ--模拟登录 使用PC端模拟登录,主要使用的QQ空间登录地址测试. 首先,QQHelper的创建. #region Helper /// /// Helper // ...

    &percnt;1&dollar;s,&percnt;2&dollar;s等的用法

    String.format(String format, Object... args)方法中:   format:格式字符串. 如:%1$s,%1$d,%2$s...                 ...

    php补充

    PHP 教程 echo 和 print 之间的差异:echo - 能够输出一个以上的字符串print - 只能输出一个字符串,并始终返回 1提示:echo 比 print 稍快,因为它不返回任何值. ...

    如何安装mysql服务

    我刚开始安装mysql的时候,在windows的服务里面可以看到,但是装了以后有一段时间没有用它了,我在准备从windows的服务里面启动mysql服务的时候,发现没有mysql的服务了,那我的解决办 ...

    Python之路&comma;Day14 - It&&num;39&semi;s time for Django

    Python之路,Day14 - It's time for Django   本节内容 Django流程介绍 Django url Django view Django models Django ...

    cygwin vim can&&num;39&semi;t write &period;viminfo

    问题 每次退出vim时,都提示 vim can't wirte .viminfo 运行环境 以管理员身份登录win7,并运行cygwin 排查过程 切换到家目录,查看发现.viminfo文件存在. 查 ...

    IIS 常见异常及解决办法

    Ø  简介 IIS 是我们平常接触比较多的服务端软件,用于站点发布等,本文主要记录 IIS 常见的异常及解决办法.主要包括: 1.   Visual Studio 启动 Web 项目提示"无 ...

    prometheus 表达式

    avg_over_time(my_inprogress_requests{job="mhc"}[5m] offset 3m) 返回time=1550664637开始向前偏移3分钟之 ...

    Play with Floor and Ceil UVA - 10673(拓展欧几里得)

    因为我现在还不会用这个...emm...蒟蒻...只看了 从来没用过....所以切一道水题...练一下... 人家讲的很好  https://blog.csdn.net/u012860428/arti ...

    iOS获取手机型号,Swift获取手机型号(类似iphone 7这种,检测机型具体型号)

    获取手机设备信息,如name.model.version等, 但如果想获取具体的手机型号,如iphone5.5s这种,就需要如下这种(含Swift和OC两种写法) Swift建议添加到extensio ...

    展开全文
  • 初识Java 如何用数组存储对象

    千次阅读 2020-04-14 16:43:24
    初识Java 如何用数组存储对象定义一个数组,用来存储3个person对象 定义一个数组,用来存储3个person对象 public static void main(String[] args) { //首先创建一个长度为3的数组,里面用来存放Person类型的对象 ...

    初识Java 如何用数组存储对象

    定义一个数组,用来存储3个person对象

     public static void main(String[] args) {
            //首先创建一个长度为3的数组,里面用来存放Person类型的对象
            Person[] array = new Person[3];
            Person one = new Person("高圆圆",18);
            Person two = new Person("李大钊",20);
            Person three = new Person("许海峰",52);
            array[0] = one;
            array[1] = two;
            array[2] = three;
            System.out.println(one.getName()+","+one.getAge());
            System.out.println(array[1].getName()+","+array[1].getAge());
            System.out.println(array[2].getName()+","+array[2].getAge());
        }
    

    运行结果:
    在这里插入图片描述
    Person类:

    public class Person {
        String name;
        int age;
    
        public void setName(String name) {
            this.name = name;
        }
    
        public void setAge(int age) {
            this.age = age;
        }
    
        public String getName() {
    
            return name;
        }
    
        public int getAge() {
            return age;
        }
    
        public Person() {
    
        }
    
        public Person(String name, int age) {
            this.name = name;
            this.age = age;
        }
    }
    
    
    展开全文
  • Java数组对象数组

    2020-07-17 11:57:37
    关于数组的用法,有几种方式: 1.程序员用法 (1)数组的定义 数据类型 数组名[ ]=new 数据类型[大小]; int a[ ]=new int[5]; 说明:这是定义数组的一种方法。为了让大家明白,我画图说明。 楼是存在地球上的,那么...

    关于数组的用法,有几种方式:

    1.程序员用法
    (1)数组的定义
    数据类型 数组名[ ]=new 数据类型[大小];
    int a[ ]=new int[5];
    说明:这是定义数组的一种方法。为了让大家明白,我画图说明。
    在这里插入图片描述
    楼是存在地球上的,那么数组是存在哪里的呢?==>内存
    (2)数组的引用(使用)
    数组名[下标],比如:你要使用a数组的第三个数a[2]。

    2.没事找事法
    第一步:先声明数组
    语法:数据类型 数组名[ ];也可以数据类型[ ] 数组名;
    int a[ ];或int[ ] a;

    第二步:创建数组
    语法:数组名=new 数据类型[大小];
    a=new int[10];

    第三步:数组的引用(使用)
    语法:数组名[下标]
    引用:a数组的第8 个元素a[7]。

    3.古板用法
    第一步:初始化数组
    语法:数据类型 数组名[ ]={元素值,元素值,元素值…};
    int a[ ]={2,5,6,7,8,89,90,88,168};
    上面的用法相当于:
    a[0]=2;a[1]=5;a[2]=6;a[3]=7;a[4]=8;a[5]=89;a[6]=90;a[7]=88;a[8]=168;

    第二步:数组的引用(使用)
    语法:数组名[下标]
    引用:a数组名的第8个元素a[7]

    既然int,float,double…等都可以有数组,那么可以不可以有对象数组呢?
    请看下面的题:
    一个养狗场有4只狗,分别是:

    名字体重
    花花4.5 kg
    白白5.6 kg
    黑黑7.8 kg
    红红9.0 kg

    请编写一个小程序,可以计算它们的平均体重,可以找出体重最大和最小的狗的名字,可以通过输入狗的名字,查找它的体重。(对象数组的使用)

    //定义一个狗类
    class Dog{
    	private String name;
    	private float weight;
    	public String getName(){
    		return name;
    	}
    	public void setName(String name){
    		this.name=name;
    	}
    	public float getWeight(){
    		return weight;
    	}
    	public float setWeight(float weight){
    		this.weight=weight;
    	}
    }
    
    public class Test throws Exception{
    	public static void main(String args[]){
    		//定义一个可以存放四只狗的对象
    	Dog dogs[]=new Dog[4];
    	//用for循环从控制台输入各个狗的信息
    	InputStreamReader isr=new InputStreamReader(System.in);
    	BufferedReader br=new BufferedReader(isr);
    	for(int i=0;i<4;i++){
    		dogs[i]=new Dog();//重新new了过后,它才会重新指向一个地方
    		System.out.println("请输入第"+(i+1)+"狗名");
    		//从控制台读取狗名
    		String name=br.readLine();
    		//将名字赋值给对象
    		dogs[i].setName(name);
    		System.out.println("请输入第"+(i+1)+"狗的体重");
    		String s_weight=br.readLine();
    		float weight=Float.parseFloat(s_weight);//String->float
    		//将体重赋值给对象
    		dogs[i].setWeight(weight);
    	}
    	//计算平均体重
    	float allWeight=0;
    	for(int i=0;i<4;i++){
    		allWeight+=dogs[i].getWeight();
    	}
    	//计算平均体重
    	float avgWeight=allWeight/dogs.length;
    	System.out.println("总体重="+allWeight+"平均="+avgWeight);
    
    	//找出体重最大的狗
    	//假设第一只狗的体重最大
    	float maxWeight=dogs[0].getWeight();
    	int maxIndex=0;
    	//按顺序和后面的狗比较
    		for(int i=1;i<dogs.length;i++){
    			if(maxWeight<dogs[i].getWeight()){
    				//修改
    				maxWeight=dogs[i].getWeight();
    				maxIndex=i;
    			}
    		}
    		System.out.println("最大的狗的体重为:"+dogs[i].getWeight()+"名字是:"+dogs[i].getName());
    	}
    	
    }
    

    数组——小结
    1.数组可存放同一类型数据
    2.简单数据类型(int,float等)数组,可直接赋值
    3.对象数组在定义后,赋值时需要再次为每个对象分配空间(即:new对象)
    4.数组大小必须事先指定
    5.数组名可以理解为指向数组首地址的引用
    6.数组的下标是从0开始编号的

    展开全文
  • 文章目录 问题1问题2 问题1 下述代码能否编译通过?为什么? interface I{ ... public static void main(String[] ...是在堆中生成了一个数组对象但是这个数组中的元素存放的是给定数据类型对应的对象的地址,也就..
  • 编辑:我现在正在使用Arrays.asList而不是Collections.singleton*Singleton仅限于一个条目,而asList方法允许您在以后添加其他字符串以筛选出:Arrays.asList("a", "b", "c").Edit 2:上面的方法保留相同的数组(因此...
  • java 二维数组对象数组

    千次阅读 2021-03-04 06:08:28
    1.二维数组:二维数组就是存储一维数组(内存地址/引用)的数组 2.二维数组的初始化1) int intA[][]={{1,2},{2,3},{3,4,5}};2) int [][] intB=new int[3][5];3) int []intC []=new int[3][];intC[0]=new int[2];intC[1...
  • java数组中存储对象

    千次阅读 2020-03-18 11:19:01
    java数组中存储对象 /*一、数组描述 在现实世界中,数组并不仅仅可以存储像我们以前所描述的基础数据类型,它还可以存储对象(当然,在Java语言中实际存储的是对象的引用。)下图描述了数组存储对象的原理: */...
  • Java中有两种类型的数组:基本数据类型...在以上代码中,arr变量存放数组对象的引用;如果你创建了空间大小为10的整形数组,情况是一样的,一个数组对象所占的空间在堆上被分配,然后返回其引用;二维数组那么二...
  • java对象数组存放打印学生信息 public class stuView { private Scanner sc; private stuService service; private stuBean[] stu; public stuView() { sc = new Scanner(System.in); service = new ...
  • import java.util.ArrayList;import java.util.List;public class ObjectTest {public static void main(String[] args) {String[] id = new String[8];String[] type = new String[8];String[] username = new Stri...
  • Java对象数组的使用方法详解

    千次阅读 2021-03-05 22:06:00
    本文实例讲述了java对象数组的使用方法。分享给大家供大家参考,具体如下:一 点睛对象可以用数组存放,通过下面两个步骤来实现。1 声明以类为数据类型的数组变量,并用new分配内存空间给数组。2 用new产生新的...
  • 如何在Java中从数组中删除对象

    千次阅读 2021-03-09 19:00:13
    编辑2:上面的方法保留相同的数组(所以数组仍然是相同的长度);最后一个元素之后的元素设置为null。如果你想要一个新的数组大小完全符合要求,请改用: array = list.toArray(new String[0]); 编辑3:如果你频繁使用...
  • Java中的数组可以包含多个元素,这取决于对象是如何创建的。为了让用户执行不同的操作,必须知道数组的长度。这篇关于“Java中的数组长度”的文章旨在让我们熟悉用于获取数组长度的操Java中的数组可以包含多个元素,...
  • java 数组类的父类

    千次阅读 2019-12-27 09:32:27
    java数组 java中所有的引用类型,都属于类,既然都属于类,那么父类就都是Object,数组类也不例外,在java中,数组也是一种引用类型,即是一种类。不过这种类没有java代码,所以看不到底层实现,因为底层是C语言实现...
  • JAVA数组、继承

    2021-02-28 06:10:27
    Java数组的特点:一、java数组是一个对象数组是引用型的。二、数组中有length属性,字符串中有length方法。三、数据类型 [] 数组名 = new 数据类型 [长度]。四、数组的复制有两种方法:1、用for循环;2、静态...
  • java中,一个数组既可以存放基本类型值(如int,char,...),也可以存放对象的引用(比如指针)。当使用一个"new"创建一个对象时,在堆中会分配一段内存空间,并返回一个引用。这一点对于数组也适用,因为在java中,...
  • Java 数组的使用

    千次阅读 多人点赞 2021-08-14 13:50:26
    Java中,数组的内存在堆上 数组的创建及初始化: 1.数组的创建: 基本语法格式: T[ ] 数组名 = new T[N]; . ① T,即Type,表示:数组存放元素的类 ② T[ ], 表示:数组的类型 ③ N, 表示:数组的长度 ...
  • Java对象数组的使用

    万次阅读 多人点赞 2019-04-11 22:36:09
    给你一组学生的数据,比如姓名,性别,学号,成绩,然后根据成绩排序,这时你就得用对象数组
  • 正如gurukulki所说,它存储在堆...堆栈/堆区别主要是一个实现细节 – 我相信一些JVM(可能是实验性的)可以告诉对象何时不会从方法中“转义”,并且可以在堆栈上分配整个对象。然而,它在概念上在堆上,如果你选择关心。
  • 数组(Array):一组具有相同类型的元素的集合。 int[] a 定义一个a,类型是存放int类型元素的数组,大小暂时不确定。 long[] a char[] a String[] a Scanner[] a Random[] a ...
  • Java数组

    2021-02-26 16:03:04
    不是如何运算而是如何保存这些数据以便于后期的运算,那么数组就是一种用于存储数据的方式,能存数据的地方我们称之为容器,容器里装的东西就是数组的元素,数组可以装任意类型的数据,虽然可以装任意类型的数据,但是...
  • Java中有两种类型的数组:基本数据类型...在以上代码中,arr变量存放数组对象的引用;如果你创建了一个空间大小为10的整型数组,情况是一样的,一个数组对象所占的空间在堆上被分配,然后返回其引用。二维数组那么...
  • Java数组的特性

    2021-02-12 21:14:46
    数组是基本上所有语言都会有的一种...Java中的数组对象吗?Java和C++都是面向对象的语言。在使用这些语言的时候,我们可以直接使用标准的类库,也可以使用组合和继承等面向对象的特性构建自己的类,并且根据自己构...
  • Redis存储java对象或者java对象数组

    千次阅读 2020-03-01 17:47:08
    1. 先将java对象或者java对象数组用ObjectMapper转换为json对象 2. 再用jedis对象的put方法,将数据写入Redis数据库
  • java创建存放不同类型数据的数组

    千次阅读 2021-02-12 16:54:03
    java创建存放不同类型数据的数组java中,将不同类型的数据放到一个数组中,可以采用Object来实现。例子:public class Main {public static void main(String []args) {Object[] os = new Object[3];os[0] = 1;os[1]...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 243,007
精华内容 97,202
关键字:

java数组存放对象

java 订阅