Java中的数组与集合

参考(整理)于:https://www.runoob.com/java/java-array.html

Java数组

在Java 语言中数组是用来存储固定大小的同类型元素。

声明数组变量

dataType[] arrayRefVar;   // 首选的方法
或
dataType arrayRefVar[];  // 效果相同,但不是首选方法

注意: 建议使用 dataType[] arrayRefVar 的声明风格声明数组变量。 dataType arrayRefVar[] 风格是来自 C/C++ 语言

创建数组
Java语言使用new操作符来创建数组,语法如下:

arrayRefVar = new dataType[arraySize];

数组变量的声明,和创建数组可以用一条语句完成,如下所示:

dataType[] arrayRefVar = new dataType[arraySize];
或
dataType[] arrayRefVar = {value0, value1, ..., valuek};

数组作为函数的返回值

public static int[] reverse(int[] list) {
  int[] result = new int[list.length];
 
  for (int i = 0, j = result.length - 1; i < list.length; i++, j--) {
    result[j] = list[i];
  }
  return result;
}

Java集合

Java 集合框架主要包括两种类型的容器,一种是集合(Collection),存储一个元素集合,另一种是图(Map),存储键/值对映射。Collection 接口又有 3 种子类型,List、Set 和 Queue,再下面是一些抽象类,最后是具体实现类,常用的有 ArrayList、LinkedList、HashSet、LinkedHashSet、HashMap、LinkedHashMap 等。

集合框架是一个用来代表和操纵集合的统一架构。所有的集合框架都包含如下内容:

  • 接口: 是代表集合的抽象数据类型。例如 Collection、List、Set、Map 等。之所以定义多个接口,是为了以不同的方式操作集合对象
  • 实现(类): 是集合接口的具体实现。从本质上讲,它们是可重复使用的数据结构,例如:ArrayList、LinkedList、HashSet、HashMap。
  • 算法: 是实现集合接口的对象里的方法执行的一些有用的计算,例如:搜索和排序。这些算法被称为多态,那是因为相同的方法可以在相似的接口上有着不同的实现。

除了集合,该框架也定义了几个 Map 接口和类。Map 里存储的是键/值对。尽管 Map 不是集合,但是它们完全整合在集合中。

集合框架体系如下图所示

在这里插入图片描述
Java 集合框架提供了一套性能优良,使用方便的接口和类,java集合框架位于java.util包中, 所以当使用集合框架的时候需要进行导包(Alt + Enter)
List和ArrayList主要区别是List是一个接口,而ArrayList是一个类,而且继承于List。这也意味着ArrayList是List的子类,在Java或者任何面向对象的语言找中,超类的变量都可以存储子类类型对象,这也称为多态

如下,定义了一个存储整形数据的集合

package com.example.demo.list;

import java.util.ArrayList;

/**
 * 集合与数组主要区别是:集合相当于动态的数组
 */

public class ListStudy {
    public static void main(String[] args) {
        ArrayList<Integer> list=new ArrayList<>();
        //等效于==> List<Integer> list=new ArrayList<>();
        list.add(1);
        list.add(2);
        list.add(3);

        for (int i=0;i<list.size();i++)
        {
            System.out.println(list.get(i));
        }
        System.out.println("集合长度为:"+list.size());//集合长度
        System.out.println("集合第一个元素为:"+list.get(0));//集合第一个元素

    }
}
/**
 * 运行结果:
 * 1
 * 2
 * 3
 * 集合长度为:3
 * 集合第一个元素为:1
 */
Java集合存储对象

新建一个ListObject类并定义了name和age两个属性,生成对应的get、set方法和ListObject类的构造方法

package com.example.demo.list;

public class ListObject {
    private String name;//ListObject类的属性
    private int age;

    //Alt + Insert -->constructor,ListObject类的构造方法
    public ListObject(String name, int age) {
        this.name = name;
        this.age = age;
    }

    /**
     * Alt + Insert-->Getter and Setter
     * 生成get和set两个方法,对类的属性进行赋值(setName)和取值(getName)
     */
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
}

调用ListObject类
在这里插入图片描述

应用:小程序获取集合数据

Java后台程序,定义一个可供外部访问的getList方法(该方法返回一个List(列表)),在该方法中定义一个list集合
在这里插入图片描述
如下,在小程序(前端)wxml中,添加一个block并用循环遍历后端返回的数据

<block wx:for="{{ListData}}" wx:key="key">
  <view>{{item}}</view>
</block>

js文件中事件请求处理
在这里插入图片描述
数据获取成功
在这里插入图片描述

每天进步一点点,今天就分享到这里了。“人没有白学的东西,每一点都算数!”
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值