例 : 统计数组 [ n u m s ] [ nums ] [nums] 中数字的出现位置。
- 方法一
public void setMap(int[] nums)
{
Map<Integer, List<Integer>> map = new HashMap<>();
for (int i = 0; i < nums.length; i++)
{
map.computeIfAbsent(nums[i], Key -> new ArrayList<>()).add(i);
}
}
- 方法二
public void setMap(int[] nums)
{
Map<Integer, List<Integer>> map = new HashMap<>();
for (int i = 0; i < nums.length; ++i)
{
map.putIfAbsent(nums[i], new ArrayList<>());
map.get(nums[i]).add(i);
}
}
- 方法三
public void setMap(int[] nums)
{
Map<Integer, List<Integer>> map = new HashMap<>();
for (int i = 0; i < nums.length; i++)
{
List<Integer> list = map.getOrDefault(nums[i], new ArrayList<>());
list.add(i);
map.put(nums[i], list);
}
}