【问题标题】:String Contain Substring or not in JavaJava中的字符串是否包含子字符串
【发布时间】:2023-04-09 15:08:01
【问题描述】:

实际上,我在比较 java 中的字符串时遇到了问题。问题是我有 Arraylist 类型列表,其中包含一些员工名称,但名称可能是开发人员或初级开发人员,或者可能是高级开发人员类型名称,我的问题是将所有开发人员名称视为唯一的开发人员,所以我为此使用此代码。

ArrayList<String> al_designation = ret.getDesignationListFromRegistration();
int ii = 0;
for (String designation : al_designation) {
    ii++;
    for (int j = ii; j < al_designation.size(); j++) {
        if (designation.toLowerCase().contains(al_designation.get(j).toLowerCase())) {
            al_designation.remove(j);
        }
    }
}

我希望所有 HELPER 类型指定只考虑 HELPER,对于 STITCHER 所有类型的 STITCHER 相同。

【问题讨论】:

  • 这个实际上看起来是你应该有一个Designation类,并有子类DeveloperDesignationSeniodDeveloperDesignation等。
  • 不,这只是一个包含所有名称的列表。

标签: java string arraylist netbeans compare


【解决方案1】:

将所需项从 ArrayList 添加到 HashMap,如下所示:

    ArrayList<String> al_designation = new ArrayList<>(Arrays.asList("Developer", "Junior Developer",
            "Senior Developer", "Senior Architect", "Junior Manager", "Senior Manager", "Assistant Manager", //
            "CEO", "Tech Lead", "Dev Lead"));
    System.out.println(al_designation);// Before it contains all
                                        // designations.

    Map<String, String> map = new LinkedHashMap<>();
    for (String designation : al_designation) {
        designation = designation.toLowerCase();
        String[] words = designation.split(" ");
        String lastWord = words[words.length - 1];
        String value = map.get(lastWord);
        if (value == null)
            map.put(lastWord, designation);
        else
            map.put(lastWord, lastWord);
    }
    al_designation.clear();
    al_designation.addAll(map.values());
    System.out.println(al_designation);// Now it contains only required designations. 
                                        //This is your answer.

【讨论】:

  • 谢谢,伙计和大家给我宝贵的时间,我的问题现在已经解决了。
  • 无论哪个答案对您有帮助,您能否将其标记为“已接受”。谢谢。
  • 如果我错了,请纠正我,接受您提出的问题的答案不需要任何声誉。只有投票可以。
【解决方案2】:

我不知道您要完成什么,但是您可以检查您的字符串,例如“初级开发者”包含这样的子字符串“开发者”:

if (str1.toLowerCase().contains(str2.toLowerCase())){
    // do whatever you need to do
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-11-28
    • 2011-11-09
    • 2013-05-18
    • 2023-03-19
    • 2021-12-20
    • 2014-12-10
    • 1970-01-01
    • 2020-08-26
    相关资源
    最近更新 更多