List<String> 转 Map<String,Object>的java方法
时间: 2023-10-29 11:42:57 浏览: 39
可以使用Java 8中的stream()和collect()方法来实现List<String>转Map<String,Object>,示例代码如下:
List<String> list = new ArrayList<>();
list.add("hello");
list.add("world");
Map<String, Object> map = list.stream()
.collect(Collectors.toMap(str -> str, str -> new Object()));
其中,Collectors.toMap()方法接收两个Function参数,分别是List中的String对象作为key,和新建的Object作为value。如果List中的元素有重复的,可以添加一个合并函数参数进行处理,例如:
Map<String, Object> map = list.stream()
.collect(Collectors.toMap(str -> str, str -> new Object(), (obj1, obj2) -> obj1));
这里的合并函数直接返回了第一个Object对象,即不做任何操作。
相关问题
List<Object> 转 List<String> java
可以使用Java 8的Stream API将List<Object>转换为List<String>。以下是一个示例代码:
```java
List<Object> objectList = Arrays.asList("Hello", 123, true, "World", 456);
List<String> stringList = objectList.stream()
.map(Object::toString)
.collect(Collectors.toList());
```
在这个例子中,`objectList`包含了不同类型的对象,我们将它们转换为字符串类型。我们首先使用`stream()`方法将List转换为Stream,然后使用`map()`方法将每个对象转换为字符串。最后,我们使用`collect()`方法将结果收集到一个新的List中。
如果你使用的是Java 7或更早的版本,你可以使用传统的for循环遍历List并将每个Object转换为String,然后添加到新的List中。以下是一个示例代码:
```java
List<Object> objectList = Arrays.asList("Hello", 123, true, "World", 456);
List<String> stringList = new ArrayList<String>();
for (Object obj : objectList) {
stringList.add(obj.toString());
}
```
在这个例子中,我们首先创建一个空的List<String>,然后使用for循环遍历List<Object>,将每个对象转换为字符串并添加到新的List中。
java List<String>转List<Object>
如果你要将 `List<String>` 转换为 `List<Object>`,可以使用 Java 8 的 `Stream` API 来实现。示例如下:
```java
List<String> stringList = Arrays.asList("foo", "bar", "baz");
List<Object> objectList = stringList.stream().map(Object::new).collect(Collectors.toList());
```
这里使用了 `Stream.map()` 方法,将 `String` 转换为对应的 `Object`。最后使用 `Collectors.toList()` 方法将结果收集到一个新的列表中。
请注意,这种方法将创建一个新的列表对象,而不是更改原始列表。