java 一个键值对应一个数组

package test;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

@SuppressWarnings("unchecked")
public class FileTest {
public static void main(String[] args) {
List list = new ArrayList();
HashMap map = new HashMap();
Set set = new HashSet();
String[] str = {"a,1","a,2","b,1","b,2","b,3","c,4"};
for(int i=0;i<str.length;i++){
String key = (String)str[i].split(",")[0];
String value = (String)str[i].split(",")[1];
if(set.contains(key)){
((HashSet)map.get(key)).add(value);
}else{
set.add(key);
Set setVal = new HashSet();
setVal.add(value);
map.put(key, setVal);
}
}
System.out.println(map);
}
}
### PHP 获取数组键值对信息 在 PHP 中,获取数组键值对信息可以通过多种方法实现。以下是一些常见的技术,结合了引用内容和专业知识。 #### 使用 `array_keys()` 和 `array_values()` 获取键名与键值 通过 `array_keys()` 函数可以提取数组中的所有键名[^2],而 `array_values()` 则用于获取数组中的所有值[^2]。 ```php <?php $arr = array("one" => "php", "two" => "java", "three" => array("a" => "apple", "b" => "banana")); echo '<pre>'; print_r(array_keys($arr)); // 输出键名 print_r(array_values($arr)); // 输出键值 ?> ``` #### 使用 `foreach` 遍历键值对 如果需要同时获取键名和键值,可以使用 `foreach` 循环来遍历数组[^1]。 ```php <?php $data = [ ['id' => 1, 'name' => 'Item1'], ['id' => 2, 'name' => 'Item2'] ]; foreach ($data as $key => $value) { echo "Index: $key, ID: " . $value['id'] . ", Name: " . $value['name'] . "\n"; } ?> ``` #### 使用 `array_column()` 提取特定键的值 当处理多维数组时,`array_column()` 是一个非常有用的方法,可以直接提取特定键的所有值。 ```php <?php $data = [ ['id' => 1, 'name' => 'John', 'email' => 'john@example.com'], ['id' => 2, 'name' => 'Jane', 'email' => 'jane@example.com'] ]; $names = array_column($data, 'name'); print_r($names); // 输出 ['John', 'Jane'] ?> ``` #### 使用 `array_map()` 处理键值对 对于更复杂的操作,可以使用 `array_map()` 来对每个键值对执行自定义函数[^1]。 ```php <?php $data = [ ['id' => 1, 'name' => 'John', 'email' => 'john@example.com'], ['id' => 2, 'name' => 'Jane', 'email' => 'jane@example.com'] ]; $result = array_map(function ($item) { return $item['name']; }, $data); print_r($result); // 输出 ['John', 'Jane'] ?> ``` #### 根据值获取键名 如果需要根据值查找对应的键名,可以使用 `array_search()` 函数[^3]。 ```php <?php $arr = [1 => '余温', 3 => '红楼梦', '内容' => '水浒传']; $key = array_search('红楼梦', $arr); echo $key; // 输出 3 ?> ``` #### 合并两个数组并保留键值对 在合并两个数组时,`array_merge()` 会覆盖相同的键值,但如果需要保留原始键值对,可以考虑使用 `+` 运算符[^3]。 ```php <?php $a1 = array("a" => "red", "b" => "green"); $a2 = array("c" => "blue", "b" => "yellow"); // 使用 array_merge() 合并 print_r(array_merge($a1, $a2)); // 后面的数组覆盖前面的数组 // 使用 + 运算符合并 print_r($a1 + $a2); // 保留第一个数组键值对 ?> ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值