상세 컨텐츠

본문 제목

[그루핑 콜렉트] 그루핑 콜렉트에서 AtomicInteger 발견

자바

by esoesmio 2023. 4. 11. 00:52

본문

import java.io.*;
import java.nio.charset.Charset;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.*;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.stream.Collectors;

public class z31 {

    public static void main(String[] args) {

        ArrayList<creditcard4> cd = new ArrayList<>();
        cd.add(new creditcard4("a","j",1));
        cd.add(new creditcard4("d","r",1));

        cd.add(new creditcard4("z","ww",31));

        cd.add(new creditcard4("h","hh",1));

        Map<String,List<creditcard4>> aaa = cd.stream().collect(Collectors.groupingBy(card->card.getName()));
        System.out.println(aaa);
        AtomicInteger value = new AtomicInteger(1);

        Map<String, Integer> cardmap = cd.stream().collect(Collectors.toMap(card -> card.getName(), a->value.getAndIncrement()));

        System.out.println(cardmap);

    }
}

class creditcard4 {

    public creditcard4(String company, String name, int limit) {
        this.company = company;
        this.name = name;
        this.limit = limit;
    }

    String company;
    String name;
    int limit;

    @Override
    public String toString() {
        return "creditcard4{" +
                "company='" + company + '\'' +
                ", name='" + name + '\'' +
                ", limit=" + limit +
                '}';
    }

    public String getCompany() {
        return company;
    }

    public void setCompany(String company) {
        this.company = company;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getLimit() {
        return limit;
    }

    public void setLimit(int limit) {
        this.limit = limit;
    }
}

관련글 더보기

댓글 영역