<p>可以使用流的方式将List<Object>转换为Map&lt;String, Object&gt;。下面是一个示例代码:</p>
<pre><code class="language-java">import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;

public class Main {
    public static void main(String[] args) {
        List&lt;Object&gt; list = List.of(new Person(&quot;John&quot;, 25), new Person(&quot;Jane&quot;, 30), new Person(&quot;Mike&quot;, 35));

        Map&lt;String, Object&gt; map = list.stream()
                .collect(Collectors.toMap(
                        obj -&gt; ((Person) obj).getName(),
                        obj -&gt; obj
                ));

        map.forEach((key, value) -&gt; System.out.println(key + &quot; : &quot; + value));
    }

    static class Person {
        private String name;
        private int age;

        public Person(String name, int age) {
            this.name = name;
            this.age = age;
        }

        public String getName() {
            return name;
        }

        public int getAge() {
            return age;
        }
    }
}
</code></pre>
<p>在这个例子中,我们有一个包含Person对象的列表。我们使用流的<code>collect</code>操作将列表中的每个对象映射到一个键值对,其中键是Person对象的名称,值是Person对象本身。然后,我们将这些键值对收集到一个Map&lt;String, Object&gt;中。</p>
<p>输出结果将是:</p>
<pre><code>John : Person@1b6d3586
Jane : Person@4554617c
Mike : Person@74a14482
</code></pre>
<p>这里的输出是Person对象的默认toString()方法的结果。如果你希望输出特定的字段,可以在Person类中重写toString()方法</p>
java用流的方式把listobject转换成mapstringobject

原文地址: https://www.cveoy.top/t/topic/iqj5 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录