数组间的相互转换

在一个程序中可能需要将二维数组转换成一维数组或者将一维数组转换成二维数组,有时还会有其他的一些操作等等,这里记录简单的数组之间的转换操作。
前提:$oldPhone是一个二维数组,内容如下图:
这里写图片描述

数组操作:二维转一维

$p1 = array();    //声明一个一维数组
foreach($oldPhone as $key => $value) {
    $p1[] = $value['phone'];
}

转换结果如下图所示:
这里写图片描述

数组操作:一维转二维

$p2 = array();    //声明一个二维数组
foreach($p1 as $key => $value) {
    $p2[$key]['p'] = $p1;    //将一维数组p1中的值作为$p2[0]条数据中的p字段输出
}

转换结果如下图所示:
这里写图片描述

数组操作:将数组的键值位置互换

$q = array();
foreach ($p as $key => $value) {
    $q[$value] = $key;
}

这里写图片描述

### Java中字符串与数组相互转换的方法 #### 字符串转字符数组 可以通过 `String` 类的 `toCharArray()` 方法将字符串转换为字符数组。此方法会返回一个新的字符数组,其中包含原始字符串中的所有字符。 ```java String str = "hello"; char[] charArray = str.toCharArray(); System.out.println(Arrays.toString(charArray)); // 输出 [h, e, l, l, o] ``` 此外,还可以通过逐个遍历字符串的方式手动创建字符数组[^4]。 --- #### 字符串转字符串数组 如果需要将字符串按照特定分隔符拆分为多个子字符串,则可以使用 `split()` 方法。该方法接受正则表达式作为参数,并返回一个字符串数组。 ```java String str = "apple,banana,cherry"; String[] stringArray = str.split(","); System.out.println(Arrays.toString(stringArray)); // 输出 [apple, banana, cherry] ``` 需要注意的是,`split()` 的性能可能受到复杂正则表达式的显著影响。 --- #### 字符数组转字符串 有多种方式可将字符数组转换为字符串: 1. 使用 `String` 构造函数: ```java char[] data = {'a', 'b', 'c'}; String str = new String(data); System.out.println(str); // 输出 abc ``` 2. 调用 `String.valueOf()` 静态方法: ```java char[] data = {'x', 'y', 'z'}; String str = String.valueOf(data); System.out.println(str); // 输出 xyz ``` 这两种方法均能有效完成字符数组到字符串的转换[^1]。 --- #### 字符串数组转字符串 当需要将字符串数组合并为单个字符串时,可以借助工具类 `StringUtils` 中的 `join()` 方法(来自 Apache Commons Lang 库),或者使用 `String.join()` 方法。 1. **使用 `String.join()`**: ```java String[] array = {"one", "two", "three"}; String result = String.join(",", array); System.out.println(result); // 输出 one,two,three ``` 2. **使用 `StringUtils.join()`**(需引入外部库): ```java List<String> list = Arrays.asList("red", "green", "blue"); String joined = StringUtils.join(list.toArray(), ","); System.out.println(joined); // 输出 red,green,blue ``` 上述两种方法均可高效处理字符串数组的连接操作[^2]。 --- #### 数组转字符串 对于任意类型的数组,都可以通过以下几种方式进行转换: 1. **使用 `Arrays.toString()`**: 此方法适用于简单的一维数组。 ```java int[] numbers = {1, 2, 3}; String result = Arrays.toString(numbers); System.out.println(result); // 输出 [1, 2, 3] ``` 2. **自定义拼接逻辑**: 如果需要更复杂的格式化输出,可以选择手写循环来构建目标字符串。 --- ### 总结 以上介绍了在 Java 中字符串与数组相互转换的主要方法,包括但不限于 `toCharArray()`、`split()`、`new String()` 和 `String.join()` 等实用技术。这些方法覆盖了常见的开发需求场景。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值