java中如何判断一个List<int[]>集合中存在和目标数组中数字一样的数组数量
时间: 2024-03-09 22:44:27 浏览: 24
可以使用Java8的Stream API来实现。具体代码如下:
```java
List<int[]> list = new ArrayList<>();
int[] target = {1, 2, 3};
// 假设 list 中已经添加了各种 int[] 数组
long count = list.stream()
.filter(arr -> Arrays.equals(arr, target))
.count();
System.out.println("存在和目标数组一样的数组数量为:" + count);
```
首先使用 `filter` 方法过滤掉不满足条件的数组,然后使用 `count` 方法计数即可。其中,`Arrays.equals` 方法用于比较两个数组是否相等。
相关问题
java中如何判断一个List<int[]>集合中是否存在和目标数组中数字一样的数组
可以使用Java中的contains方法来判断一个List<int[]>集合中是否存在和目标数组中数字一样的数组。具体实现可以参考下面的代码示例:
```java
List<int[]> list = new ArrayList<>();
int[] targetArray = {1, 2, 3};
// 添加一些数组到集合中
list.add(new int[]{1, 2, 3});
list.add(new int[]{4, 5, 6});
list.add(new int[]{7, 8, 9});
// 判断集合中是否存在目标数组
boolean contains = list.stream().anyMatch(array -> Arrays.equals(array, targetArray));
System.out.println(contains);
```
在上面的代码中,我们先创建一个List<int[]>集合和一个目标数组targetArray,然后向集合中添加一些int[]类型的数组。接着,我们使用Java 8中的stream方法和anyMatch方法对集合中的每个数组进行遍历,并使用Arrays.equals方法判断是否和目标数组相等。如果存在相等的数组,则返回true,否则返回false。
jsonObject中date数据是一个数组集合数据,数据格式为key-value,写一个java代码转为 List<HashMap<String,String>>
可以使用以下代码将 jsonObject 中的 date 数据转换为 List<HashMap<String,String>>:
```java
JSONArray dateArray = jsonObject.getJSONArray("date");
List<HashMap<String,String>> dateList = new ArrayList<>();
for(int i=0; i<dateArray.length(); i++){
JSONObject dateObject = dateArray.getJSONObject(i);
HashMap<String,String> dateMap = new HashMap<>();
Iterator<String> keys = dateObject.keys();
while(keys.hasNext()){
String key = keys.next();
String value = dateObject.getString(key);
dateMap.put(key, value);
}
dateList.add(dateMap);
}
```
这段代码首先获取 jsonObject 中的 date 数组,然后遍历数组中的每个元素,将每个元素转换为一个 HashMap<String,String>,最后将所有 HashMap<String,String> 放入一个 List 中。