【问题标题】:How to calculate percentage of matching values on two arraylists?如何计算两个数组列表上匹配值的百分比?
【发布时间】:2019-08-18 01:57:27
【问题描述】:

我想计算两个 ArrayList 上匹配值的百分比。

假设我有如下两个数组列表,分别命名为 actualrequired

ArrayList<String> actual = new ArrayList<String>();
ArrayList<String> required = new ArrayList<String>();
  • actual arraylist 包含 Programming, Appium, Jenkins, Selenium, Software Testing 的值

  • required arraylist 包含 Appium, Jenkins, Selenium, protractor,API automation 的值

现在我想在这两个列表中找到匹配值的百分比。任何建议/解决方案表示赞赏

谢谢

【问题讨论】:

  • 到目前为止你尝试过什么?或者你在哪里挥动问题,使用算法或实现?只需两部分:计算两个列表中的项目数并根据项目数计算百分比。
  • 如果第一个列表的元素之一包含在第二个列表中,则应用一个计数器变量并递增它。这将需要对第一个列表进行迭代。之后,您需要使用生成的计数器值和表示 100% 的列表大小来计算百分比。
  • 您可以使用 Collection#retainAll() 来创建仅包含两个列表中元素的数组,然后获取它们的大小。

标签: java arrays percentage


【解决方案1】:

试试这个:

List<String> actual = new ArrayList<>();
List<String> required = new ArrayList<>();

List<String> common = new ArrayList<>(actual);
common.retainAll(required);

System.out.println(" 100.0 * common / actual = " + (actual.size() == 0 ? 0 : 100.0 * common.size() / actual.size()));
System.out.println(" 100.0 * common / required = " + (required.size() == 0 ? 0 : 100.0 * common.size() / required.size()));

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-02-09
    • 1970-01-01
    • 2020-10-09
    • 2012-04-05
    • 1970-01-01
    • 2013-12-27
    • 1970-01-01
    相关资源
    最近更新 更多