Java小白(6)——数组

本文详细介绍了Java中数组的概念、声明及使用方法,包括初始化、赋值和遍历数组的基本操作。

  • 什么是数组?

数组可以理解为是一个巨大的“盒子”,里面可以按顺序存放多个类型相同的数据,比如可以定义 int 型的数组 scores 存储 4 名学生的成绩。

数组中的元素都可以通过下标来访问,下标从 0 开始。例如,可以通过 scores[0] 获取数组中的第一个元素 76 ,scores[2] 就可以取到第三个元素 92 啦!

  • 如何使用 Java 中的数组

Java 中操作数组只需要四个步骤:

  1. 声明数组
    语法:  数据类型[ ] 数组名;或者   数据类型 数组名[ ];其中,数组名可以是任意合法的变量名,如:

  2. 分配空间
    简单地说,就是指定数组中最多可存储多少个元素。语法:  数组名 = new  数据类型 [ 数组长度 ];其中,数组长度就是数组中能存放元素的个数,如:

    我们也可以将上面的两个步骤合并,在声明数组的同时为它分配空间,如:

  3. 赋值
    分配空间后就可以向数组中放数据了,数组中元素都是通过下标来访问的,例如:向 scores 数组中存放学生成绩。

  4. 处理数组中数据
    我们可以对赋值后的数组进行操作和处理,如:获取并输出数组中元素的值。

  5. 直接创建数组
    在 Java 中还提供了另外一种直接创建数组的方式,它将声明数组、分配空间和赋值合并完成,如:

    它等价于:

  • 使用循环操作 Java 中的数组

实际开发中我们经常使用循环控制数组成员的操作。如:

运行结果:

其中,  数组名.length  用于获取数组的长度。
注意:

  1. 数组下标从 0 开始。因此 scores[3] ,表示数组中的第 4 个元素,而并非第 3 个元素;
  2.  数组下标的范围是 0 至 数组长度-1 ,如果越界访问,就会报错。如:

    上面错误信息的意思是数组下标超过范围,即数组访问越界。
### 使用Java操作Redis存储和检索数组 #### 存储数组到Redis 为了在Java中将数组存储至Redis,可以利用Jedis库或更高级别的客户端如Redisson。对于简单的键值对存储需求,Jedis是一个轻量级的选择;而当涉及到复杂的数据结构以及分布式的场景下,则推荐使用Redisson。 通过Jedis实现基本的列表(List)类型的保存: ```java import redis.clients.jedis.Jedis; public class JedisExample { public static void main(String[] args) { try (Jedis jedis = new Jedis("localhost")) { // 连接到本地运行的Redis服务器 String key = "myArray"; // 清除旧数据 jedis.del(key); // 向列表左侧添加元素 jedis.lpush(key, "element1"); jedis.lpush(key, "element2"); jedis.lpush(key, "element3"); System.out.println(jedis.lrange(key, 0, -1)); // 打印整个列表的内容 } } } ``` 上述代码展示了如何创建一个新的列表并将几个字符串作为其成员加入其中[^1]。 采用Redisson来处理更加复杂的业务逻辑时,能够享受到更多特性支持的同时也简化了一些编码工作: ```java import org.redisson.Redisson; import org.redisson.api.RList; import org.redisson.api.RedissonClient; import java.util.Arrays; // 假设已经初始化好了Redisson实例redissonClient RedissonClient redissonClient = Redisson.create(); RList<String> rList = redissonClient.getList("complexArrayList"); rList.addAll(Arrays.asList("itemA", "itemB", "itemC")); System.out.println(rList.readAll()); // 输出全部项 ``` 这段程序片段说明了怎样借助于`RList`接口完成相同的操作——即把一组对象放入名为`complexArrayList`的远程集合里并读取它们[^2]。 #### 从Redis检索数组 无论是哪种方式,都可以方便地访问之前存入的数据。下面给出两种方法对应的查询语句: - **基于Jedis** ```java try (Jedis jedis = new Jedis("localhost")) { List<String> elements = jedis.lrange("myArray", 0, -1); // 获取指定范围内的所有元素 for (String element : elements) { System.out.println(element); } } ``` 此段脚本会遍历由`lrange()`函数返回的结果集,并逐个打印出来。 - **基于Redisson** ```java for (String item : rList) { System.out.println(item); } ``` 这里直接迭代`RList`实例即可获得所需的信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值