java list集合使用stream流,根据属性值,找到对应下标,交换位置

2023-10-27

import java.util.*;


public class TestAa {

    private String name;

    private Integer id;

    public static void main(String[] args) {
        List<TestAa> list = new ArrayList<>();
        list.add(new TestAa("dehua", 1));
        list.add(new TestAa("德华", 2));
        list.add(new TestAa("等会", 3));
        list.add(new TestAa("德华", 4));

        String name = "德华";
        //找到name=德华的第一个对象的下标
        Optional<Integer> first = list.stream().
                filter(i -> Objects.equals(i.getName(), name)).
                map(list::indexOf).findFirst();
        if (first.isPresent()) {
            Integer index = first.get();
            System.out.println("true:" + index);
            //下标数据交换
            Collections.swap(list, 0, index);
        } else {
            System.out.println("false");
        }
        list.forEach(System.out::println);
    }

    public TestAa(String name, Integer id) {
        this.name = name;
        this.id = id;
    }

    public String getName() {
        return name;
    }

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

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    @Override
    public String toString() {
        return "TestAa{" +
                "name='" + name + '\'' +
                ", id=" + id +
                '}';
    }
}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

java list集合使用stream流,根据属性值,找到对应下标,交换位置 的相关文章

随机推荐

  • android 轮播图_两步路户外助手谷歌卫星图终极解决方案

    不点蓝字 我们哪来故事 国庆节前 教大家一步步搞回了两步路 户外助手 的 谷歌卫星图 和 路网 错过的朋友可以看之前的文章 快速找回 两步路 户外助手 的谷歌卫星图 路网 但是文章发出后陆续收到一两个驴友反馈 路网是回来了 但是还是没有谷歌
  • linux ssh权限设置,linux 让ssh只允许指定的用户登录的权限设置

    方法一 只允许ssh指定用户登录权限的设置 SSH远程登录的权限直接影响服务器的安全 为ssh设置合理的用户权限是必须的 查看ssh版本的命令 ssh v 设置ssh只允许指定用户登录的方法 在 etc ssh sshd config文件中
  • 【mysql5.7开启 binlog】

    今天发现数据库连接不上了 一看服务器 家被人偷了 库还在只剩下一个表README 以下数据库已被删除 xxx xxx 我们有完整的备份 要恢复它 您必须向我们的比特币地址xxxx支付0 028比特币 BTC 如果您需要证明 请通过以下电子邮
  • grafana设置Alert阈值和邮件报警

    首先我们需要在机器上开启smtp 25服务 这里有一个坑 注意 云主机为了防止滥发邮件已经封掉了smtp的所有通信 所以云主机发邮件是有问题的 安装sendmail ubuntu用apt centos用yum 安装好后一般自动就跑起来了 n
  • 单例模式由浅入深(C# 版)

    单例模式由浅入深 C 版 有时候 我们希望某类只有一个实例 这样的好处是 1 可以实现数据共享 2 避免大量的创建销毁实例的操作 提高性能 为了实现单例模式 通常做法是 1 将构造函数私有化 避免外部直接new对象 2 对外提供一个方法来返
  • docker基础

    docker背景 以linux而言 linux操作系统会有一个主进程pid 1派生出其他进程来控制不同服务例如 pid 2 gt python pid 3 gt java pid4 gt php 三个服务可能会相互影响 使用者期望将这三个不
  • npm wepack-cli --save-dev nodejs -4048 operation not permitted

    其实就是权限不够 方法一在该目录管理员打开终端运行该命令即可 方法二 修改nodejs的权限找到nodejs的目录 之后右键属性 修改完成之后执行npm webpack cli save dev如果还是出现 4048的错误 重启电脑之后即可
  • mavenCentral()、jcenter()、google()仓库

    buildscript里是gradle脚本执行所需依赖 分别是对应的maven库和插件 buildscript repositories google jcenter maven url http maven aliyun com nexu
  • 2020-12-21

    转载一个SpringDataJpa JPA ORM框架的比较文章吧 供自己学习 三者区别 1 JPA是由sun定义的一个ORM规范 提供以下 2 SpringDataJpa是由Spring提供的一套简化JPA开发的框架 Criteria A
  • Hp服务器机箱风扇维修,HP服务器机箱改装(3)

    前几天一直学车 每天都要早上6点半爬起来去学车 所以改装进度有点慢 这两天休息 所以突击了一下 其实进度也不是很快 主要是下刀之前要多想 而且改的时候 要慢工出细活 所以进度不是很大 呵呵 放图 为了前面能装下那个360冷排 所以要把机箱正
  • 部署Swarm - Deploy Swarm

    参考文档 https docs docker com swarm install manual 使用的部署环境 参考文档中是要把Swarm部署到AWS的EC2上的 没有这样的条件 所以选择在本地建立多个虚机机来搭建 操作系统选择centos
  • Linux虚拟机配置yum源

    实验环境 centOS8 查看有没有yum源 ls etc yum repos d 如果有很多 repo文件 从本文第一步开始做 如果没有 则直接创建一个 repo文件 从本文第二步开始做 1 创建一个文件夹 把 etc yum repos
  • 上采样、下采样、过采样、欠采样是什么?

    之前面试时候遇到过这道题 这里整理一下 一般NLPer可能欠采样 过采样问的比较多 上 下采样CVer问的比较多 上采样和下采样在CNN中 可以理解为放大图片和缩小图片 所以池化其实可以理解为是下采样 数据不平衡时 可以使用欠采样和过采样进
  • 目标检测简介

    目录 一 简介 1 目标检测核心问题 2 目标检测任务 二 评估指标 1 IOU交并比 2 分类模型评估指标 1 准确率accuracy 2 召回率recall 3 精确率precision 4 F值 5 ROC和AUC 3 AP值 示例
  • cuda文件操作

    1 读取文件 const char usage Usage dwtHaar1D signal
  • UE4C++泛型蓝图节点

    UE4C 泛型蓝图节点 注 这篇文章是博主边学边写的便于自己学习 很多东西可能解释得不是很详细 此处采用的是UE4 26 要求 掌握基本的c 知识 基本的UE元组符的使用 例如 UFUNCTION等等 全局搜索CustomThunk关键字
  • C++类内存分布

    书上类继承相关章节到这里就结束了 这里不妨说下C 内存分布结构 我们来看看编译器是怎么处理类成员内存分布的 特别是在继承 虚函数存在的情况下 工欲善其事 必先利其器 我们先用好Visual Studio工具 像下面这样一步一步来 先选择左侧
  • 操作系统安全规范之Windows Server

    1 重要安全策略 1 1 密码复杂度 修改方法 在 运行 中输入 gpedit msc 打开组策略编辑器 浏览到路径 本地计算机策略 计算机配置 Windows设置 安全设置 帐户策略 密码策略 默认配置内容如下图 修改如下参数配置 密码必
  • springboot毕设项目家政服务管理平台m7qt4(java+VUE+Mybatis+Maven+Mysql)

    项目运行 环境配置 Jdk1 8 Tomcat8 5 Mysql HBuilderX Webstorm也行 Eclispe IntelliJ IDEA Eclispe MyEclispe Sts都支持 项目技术 Springboot myb
  • java list集合使用stream流,根据属性值,找到对应下标,交换位置

    import java util public class TestAa private String name private Integer id public static void main String args List