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

public class ListToMapExample {
    public static void main(String[] args) {
        // 创建一个List&lt;Object&gt;对象
        List&lt;Object&gt; list = List.of(
                new Person(&quot;John&quot;, 25),
                new Person(&quot;Jane&quot;, 30),
                new Person(&quot;Tom&quot;, 35),
                new Person(&quot;Alice&quot;, 40)
        );

        // 使用流操作将List&lt;Object&gt;转换为Map&lt;String, List&lt;Object&gt;&gt;
        Map&lt;String, List&lt;Object&gt;&gt; map = list.stream()
                .collect(Collectors.groupingBy(obj -&gt; {
                    if (obj instanceof Person) {
                        return ((Person) obj).getName().substring(0, 1);
                    }
                    return null;
                }));

        // 打印转换后的Map
        map.entrySet().forEach(System.out::println);
    }

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

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

        public String getName() {
            return name;
        }

        public int getAge() {
            return age;
        }

        @Override
        public String toString() {
            return &quot;Person{&quot; +
                    &quot;name='&quot; + name + '\'' +
                    &quot;, age=&quot; + age +
                    '}';
        }
    }
}
</code></pre>
<p>在上述示例代码中,我们创建了一个List<Object>对象,其中包含了一些Person对象。然后,我们使用流操作将List<Object>转换为Map&lt;String, List<Object>&gt;,其中键是Person对象的名字的首字母,值是具有相同首字母的Person对象的列表。</p>
<p>输出结果为:</p>
<pre><code>A=[Person{name='Alice', age=40}]
J=[Person{name='John', age=25}, Person{name='Jane', age=30}]
T=[Person{name='Tom', age=35}]
</code></pre>
<p>在您的实际应用中,您可以根据具体需求修改转换逻辑</p>
java用流的方式把listobject转换成mapstringlistobject

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

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