【发布时间】:2023-03-09 05:45:01
【问题描述】:
有一个HashMap 有id 和name。名称有一些限制。符合条件的字符串应添加到ArrayList。
i) 第一个字符应该小,最后一个字符应该是大写。
ii) 名称中至少应有一位数字。
例如:ravi5raJ
public static ArrayList<String> getName(HashMap<Integer,String> map) {
ArrayList<String> a1=new ArrayList<String>();
for (Integer key: map.keySet()) {
int size=map.get(key).length();
String name= map.get(key);
int count=0;
if(name.substring(0, 1)== name.substring(0, 1).toLowerCase())
{
if(name.substring(size-1, size-1)==name.substring(size-1, size-1).toUpperCase())
{
for (int i = 0; i < size ; i++) {
//logic to check for int
a1.add(name);
}
}
}
}
return a1;
}
【问题讨论】:
-
还有什么是你不知道怎么做的?你试过什么? ...
-
在 Java 中比较字符串的相等性时,请使用 myString1.equals(myString2) 而不是 == 运算符,因为 String 是一个对象,而不是像 int 或 char 这样的原始数据类型。
-
是的,我尝试将字符串中的每个字符解析为 int。在匹配过程中,即使有一个 int 类型的匹配,我也会将它添加到 ArrayList
标签: java regex string arraylist hashmap