如何从我的代码中删除重复项

2024-02-17

我有两个类似的方法。其中一个打印一些东西,其中一个保存一些东西。正如你所看到的,有很多重复的代码。我应该如何重构它并删除这种重复?

public static void printSomething(List<String> list) {
    for (String item : list) {
        if (item.contains("aaa")) {
            System.out.println("aaa" + item);
        }
        if (item.contains("bbb")) {
            System.out.println("bbb" + item);
        } else {
            System.out.println(item);
        }
    }
}

public static Map<String, String> getSomething(List<String> list) {
    Map<String, String> map = new HashMap<String, String>();
    for (String item : list) {
        if (item.contains("aaa")) {
            map.put("aaa", item);
        }
        if (item.contains("bbb")) {
            map.put("bbb", item);
        } else {
            //do nothing
        }
    }
    return map;
}

UPDATE:

更新代码以解决方法不完全相同时的问题


假设其中的顺序println of "aaa" and "bbb"出现没关系,你可以替换执行printSomething with

public static void printSomething(List<String> list) {
  Map<String, String> map = getSomething(list);
  for(Map.Entry<String, String> entry : map) {
    System.out.println(entry.getKey() + entry.getValue());
  }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何从我的代码中删除重复项 的相关文章

  • 为什么 JavaFX API 不包含在 Java 8 J2SE 中? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 有谁知道为什么 JavaFX 8 仍然不是即将推出的 Java 8 中的日常 J2SE API 显示所有 Java 组件的技术图清楚地将 Jav
  • 如何消除 Java BoxLayout 中的间距?

    I programmed following ListPanel 使用 JavaScriptBoxLayout public class ListPanel extends JPanel private ArrayList
  • Java - 红、绿、蓝获取RGB

    通过致电getRGB int x int y with a BufferedImage对象 得到一个负数 如何将三个不同的值 红色 绿色和蓝色 转换为这个单个负数 使用颜色类 new Color r g b getRGB
  • TFrame继承重构

    我提出的另一个 TFrame IDE 注册组件问题 感谢各位程序员的帮助 尝试 Darrian 的 TFrame 继承建议here https stackoverflow com questions 382562 delphi visual
  • APNS(Apple 推送通知服务器)的反馈服务

    我们正在使用Java作为推送通知提供商APNS I我能够将消息发送到APNS但我不知道如何获得该消息的反馈 请帮忙 反馈服务具有类似于用于发送推送通知的接口的二进制接口 您可以通过以下方式访问生产反馈服务feedback push appl
  • 探索java图像处理的好资源[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我是图像处理领域的新手 请推荐一些好的资源 书籍和网络链接 来学习 Java 中的图像处理 最适合隐写术分析 适合初学者和高级水平 我看过
  • 为什么Java中的文件名与公共类名相同? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 在Java中 文件名应该与文件名相同public class包含在该文件中 为什么这是一个限制 它有什么目的 Java 有一个有趣的方法 如果给
  • Java - toString 到 Color

    我一整天都在努力解决这个问题 基本上我做了一个 for 循环 将条目添加到数组列表中 其中一项是 颜色 变量 我已经用过random nextInt为颜色构造函数的红色 绿色和蓝色部分创建新值 我还设置了一个toString方法 这样我就可
  • 如何从 Java 中“double”类型的值中删除小数值

    我正在调用一个名为 calculateStampDuty 的方法 它将返回 财产需缴纳的印花税金额 百分比计算有效 很好 并返回正确的值 15000 0 但是 我想显示该值 前端用户只是 15000 所以只想删除小数点和任何前面的值 此后
  • 欧拉项目 45

    我还不是一名熟练的程序员 但我认为这是一个有趣的问题 我想我应该尝试一下 三角形 五边形 六边形 数字由以下生成 公式 三角形 T n n n 1 2 1 3 6 10 15 五边形 P n n 3n 1 2 1 5 12 22 35 六角
  • 使用 equals 方法比较两个对象,Java

    我有一个对象数组 我想将它们与目标对象进行比较 我想返回与目标对象完全匹配的对象的数量 这是我的计数方法 public int countMatchingGhosts Ghost target int count 0 for int i 0
  • 按名称获取 ArrayList

    这是正确的获取方式吗ArrayList
  • 如何加载图像文件到ImageView?

    我试图在从文件选择器中选择图像文件后立即显示该图像文件 文件选择器仅限于 png 和 jpg 文件 所选文件存储在文件类型的变量中 为此 我设置了一个 ImageView 我希望用这个新文件设置图像 唯一的问题是它的类型是文件而不是图像 如
  • 用于安装 R 软件包的备用编译器:clang:错误:不支持的选项“-fopenmp”

    我正在尝试在 OS X 10 11 6 上使用 R 版本 3 4 0 安装 rJava 包 install packages rJava type source 我收到以下错误 clang o libjri jnilib Rengine o
  • 将 PropertyPlaceholderConfigurer 中的所有属性注入到 bean 中

    我有一个PropertyPlaceholderConfigurer加载多个属性文件 我想通过配置 XML 将合并的属性映射注入到 Spring Bean 中 我可以这样做以及如何做 您只需创建一个属性 bean 并将其用于您的Propert
  • Java给定长度的随机数

    我需要在 Java 中生成一个恰好 6 位数字的随机数 我知道我可以在随机发生器上循环 6 次 但是在标准 Java SE 中还有其他方法可以做到这一点吗 要生成 6 位数字 Use Random http download oracle
  • 线程上下文类加载器和普通类加载器的区别

    线程的上下文类加载器和普通类加载器有什么区别 也就是说 如果Thread currentThread getContextClassLoader and getClass getClassLoader 返回不同的类加载器对象 将使用哪一个
  • 乔达时间中两个日期之间的天数

    如何找到两次之间的天数差异乔达时间 http www joda org joda time DateTime http www joda org joda time apidocs org joda time DateTime html实例
  • while循环只执行一次

    我很难弄清楚为什么 while 循环实际上不会循环 它运行一次并停止 import java util public class mileskm public static void main String args Scanner inp
  • 在 for 循环比较中使用集合大小

    Java 中 Collections 的 size 方法是否有编译器优化 考虑以下代码 for int i 0 i

随机推荐

  • org.hibernate.HibernateException:如果没有活动事务,保存无效

    我正在创造JSF应用程序并在其中使用一些休眠功能 我想做的就是将实体保存到数据库中 但我不断收到此异常 org hibernate HibernateException save is not valid without active tr
  • 可以在 jQuery 脚本中使用 PHP 吗?

    例如 document ready function selector click function 这会导致问题或减慢页面速度吗 这是不好的做法吗 有什么我应该知道的与此相关的重要信息吗 Thanks 如果您尝试将某些 PHP 代码与单击
  • 淘汰自定义绑定处理程序:$root 未定义

    我正在使用 Knockout 自定义绑定处理程序 借自使用 Knockout js foreach 创建组 https stackoverflow com questions 17591216 creating groups with kn
  • 如何在给定设备实例 ID 的情况下可靠、快速地获取网卡的 MAC 地址

    Given a 设备实例ID http msdn microsoft com en us library windows hardware ff541327 28v vs 85 29 aspx对于网卡 我想知道它的MAC地址 我的系统上集成
  • 如何在特定时间间隔后运行方法?

    很清楚 例如 想象一下我的表单中的一个按钮 当用户单击按钮时 某些 void 方法应在 30 秒后运行 会有一个 void 方法DoAfterDelay这需要两个输入参数 第一个是执行的方法 使用委托 另一个是时间间隔 所以我会有 publ
  • 有人比较过 WCF 和 ZeroC ICE 吗?

    ZeroC 的 ICE www zeroc com 看起来很有趣 我有兴趣查看它并将其与我们使用 WCF 的现有软件进行比较 特别是 我们的 WCF 应用程序使用服务器回调 通过 HTTP 有谁对比过吗 进展如何 我对性能方面特别感兴趣 因
  • ASP.NET MVC RenderAction 中的以下方法或属性之间的调用不明确

    在我安装 ASP NET MVC 1 0 RTM 之前 该调用工作正常 Error CS0121 The call is ambiguous between the following methods or properties 代码片段
  • 将 Fetch 与授权标头和 CORS 结合使用

    我正在尝试让我的请求通过一个在线游戏 API 但我似乎无法正常工作 我正在使用FetchAPI 以及一些请求需要授权承载令牌 但请求永远不会与授权标头一起发送 我努力了 mode no cors credentials include 显然
  • Keras model.predict() 在第一次迭代时较慢,然后变得更快

    我正在尝试跑步model predict 在 for 循环中多次并计时在同一图像上花费的时间 该数据将用于计算运行预测所需时间的平均值 如果我在单独的脚本中运行预测 它将在我的 MacBook 上运行大约 300 毫秒 如果我随后在 for
  • Buildozer 构建在 NDK 构建时失败,给出 SDL_JAVA_PACKAGE_PATH 错误

    使用 Kivy 的 VM 2 0 设置时 Buildozer 0 34 会失败并出现此错误 我能够在 Ubuntu 16 04 中的不相关环境 无虚拟机 和相同的规范文件中复制它 日志输出 信息 标准输出 build app name an
  • 如何扩展操作栏中的导航列表?

    在 android 中 您可以通过传递微调器适配器和 OnNavigationListener 在操作栏中设置导航列表 问题是导航列表没有填充大部分操作栏 如何使其像 gmail 应用程序一样展开 Gmail 应用程序示例 My app 这
  • 如何在C#中应用多个.Tag属性?

    当我想存储 传递值时 我总是使用 Tag 属性 例如 当我存储值时 Form prosesEdit new FormProsesChemicalRawWbEdit prosesEdit Tag int this proses chemica
  • 目录级别 web.config 中的 Asp.net HttpModule

    我创建了一个自定义 http 模块 并希望将此模块添加到 Web 配置中 Web应用程序是一个包含多个 子应用程序 的项目 子应用程序只是一个文件夹 在该文件夹中它有自己的 web config 我这样做是为了让每个应用程序都有自己的应用程
  • 如何计算文件中字符串的出现次数?

    仅以这段代码为例 假装它是一个 HTML 文本文件 如果我想知道该文件的总次数echo出现了 我该如何使用 bash 来做到这一点 new user echo Preparing to add a new user sleep 2 addu
  • Facebook Php SDK - getUser() 始终返回 0

    我阅读了该论坛上的所有主题 但找不到解决方案 我使用 facebook 的最后一个 Php SDK v3 2 2 所以我用了这个 start fb facebook new Facebook array appId gt fb app id
  • Laravel:高级搜索表单查询

    我有一个高级搜索表单 可以使用 Laravel 从数据库中过滤结果 数据已正确过滤 但我要求用户能够使用相同的文本框 以高级形式 按名字或姓氏进行过滤 我尝试 orWhere 确保它用名字或姓氏过滤名称字段 但 orWhere 不考虑其他过
  • AngularJS 在 HTML 中留下注释:是否可以删除它们?

    有谁知道是否可以删除 html 代码中留下的角度注释 例如 如果我使用 ngRepeat 并且没有可重复的项目 AngularJS 会留下以下内容 此评论的结果是element嵌入执行者ngRepeat 看起来好像是一直在发生 https
  • 默认共享首选项使用的文件名是什么?

    安卓备份服务requires http developer android com guide topics data backup html SharedPreferences用于备份共享首选项的文件名 public static fin
  • 如何在数据框列表上使用 devtools::use_data?

    我有一系列数据框 我想将它们保存为包中的单独 rda 文件 我可以用devtools use data my df1 my df2 但我没有每个数据帧的命名对象 它们都存储在一个大列表中 我想要做的是为每个列表元素调用 use data 并
  • 如何从我的代码中删除重复项

    我有两个类似的方法 其中一个打印一些东西 其中一个保存一些东西 正如你所看到的 有很多重复的代码 我应该如何重构它并删除这种重复 public static void printSomething List