java - 将一个list按照下面字段分组后放入到一个新的list里面
天蓬老师
天蓬老师 2017-04-18 10:33:24
0
3
624

像按以下格式展现内容

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

membalas semua(3)
巴扎黑

Saya tidak tahu apa nama objek POJO anda, saya menamakannya sendiri Projek

@Getter
@Setter
@NoArgsConstructor
public class Project {
    private Integer uud;
    private String regCode;
    private String projectName;
    private String projectAddress;
    private String companyName;
    
    // 设置分组的key,这里就是把你想要分组的key拼起来
    public String groupKey(){
        return this.projectName + "_" + this.projectAddress + "_" + this.companyName;
    }
}

Kemudian gunakan kaedah Collectors.groupingBy untuk mengumpulkan, seperti berikut:

        List<Project> projects = new ArrayList<>();
        // 这里的key就是,宁江大院_成都市都江堰市蒲阳镇花溪村_成都文森电梯设备股份有限公司
        Map<String, List<Project>> group = projects.stream().collect(Collectors.groupingBy(Project::groupKey));

Kami mendapat peta di sini, kuncinya ialah asas pengelompokan yang baru kami susun, dan nilainya ialah senarai, iaitu koleksi di bawah pengelompokan


Paparan anda ada di halaman, kan... Peta telah dibahagikan kepada kumpulan, anda hanya boleh mengitari peta mengikut peraturan halaman anda... Saya hanya boleh melakukannya berdasarkan objek POJO yang saya dibuat. Dikendalikan


Jika tiada cara untuk menggunakan Java8, maka buat sendiri klasifikasi peta yang serupa, serupa dengan kod berikut

        List<Project> projects = new ArrayList<>();
        Map<String, List<Project>> map = new HashMap<>();
        for (Project project: projects){
            String key = project.groupKey();
            // 按照key取出子集合
            List<Project> subProjects = map.get(key);
            
            // 若子集合不存在,则重新创建一个新集合,并把当前Project加入,然后put到map中
            if (subProjects == null){
                subProjects = new ArrayList<>();
                subProjects.add(project);
                map.put(key, subProjects);
            }else {
                // 若子集合存在,则直接把当前Project加入即可
                subProjects.add(project);
            }
        }
PHPzhong

Saya tidak tahu sama ada baris ini tidak berulang selepas pengelompokan anda Contohnya, PILIH nama projek DARI nama jadual GROUP BY projectName dan yang ditemui ialah resultSet dan kemudian gelungkannya dan tambahkannya ke senarai itu. Saya tidak tahu.

洪涛

Collection.sort(list,new Compararor<>(){

})

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan