Java List 常用操作

新建一个User对象

public class User{
    private String userId;

    private String name;

    private String sex;

    private String height;

    public User(String userId,String name,String sex,String height){
        this.userId = userId;
        this.name = name;
        this.sex = sex;
        this.height = height;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", userId=").append(userId);
        sb.append(", name=").append(name);
        sb.append(", sex=").append(sex);
        sb.append(", height=").append(height);
        sb.append("]");
        return sb.toString();
    }

    public String getUserId() {
        return userId;
    }

    public void setUserId(String userId) {
        this.userId = userId;
    }

    public String getName() {
        return name;
    }

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

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public String getHeight() {
        return height;
    }

    public void setHeight(String height) {
        this.height = height;
    }
}

运用

public static void main(String[] args) {
        List<User> list = new ArrayList<>();
        User user = new User("1","张三","男","173");
        list.add(user);
        User user1 = new User("2","李四","男","160");
        list.add(user1);
        User user2 = new User("3","李薇薇","男","169");
        list.add(user2);
        User user3 = new User("4","李薇薇","女","165");
        list.add(user3);

       //筛选UserId为1的用户
        List<User> filterList = list.stream().filter(o->o.getUserId().equals("1")).collect(Collectors.toList());
        log.info("UserId为1的用户:{}",filterList);

        //取出所有的用户Id组成一个新数组
        List<String> idsList = list.stream().map(User::getUserId).collect(Collectors.toList());
        log.info("用户ids:{}",idsList);

        //统计名字为李薇薇的用户数量
        long count = list.stream().filter(User->User.getName().equals("李薇薇")).count();
        log.info("名为李薇薇的用户有:{}个",count);

        //按照性别分组
        Map<String,List<User>> groupMap = list.stream().collect(Collectors.groupingBy(User -> User.getSex()));
        log.info("按照性别分组:{}",groupMap);

        //用户Id为key,对象为value
        Map<String,User> userMap = list.stream().collect(Collectors.toMap(User::getUserId,User->User));
        log.info("用户Map:{}",userMap);
    }

List2筛选List1中不同的元素
实现重写equals和hashCode

List<Object> collect = list2.stream().filter(o -> !list1.contains(o)).collect(Collectors.toList());

List 去重
也需要重写equals和hashCode

List<Object> collect = list1.stream().distinct().collect(Collectors.toList());
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容