JAVA-如何从一个以某个字符串开头的数组中获取所有键?

时间:2014-01-15 19:29:12

标签: java

我试图从配置文件中获取一些值。我有很多钥匙,只想获得某些价值。这些值的键以相同的初始名称开头,并且在结尾处略有变化。

有人能帮我快点吗?

2 个答案:

答案 0 :(得分:1)

假设当你说出键时你的意思是值(如数组中的值),

final String PREFIX = "yourPrefix";
for(String value : valueList) {
    if(value.startwith(PREFIX)) {
        <do whatever...>
    }

这是java Doc的链接 http://docs.oracle.com/javase/7/docs/api/java/lang/String.html#startsWith(java.lang.String)

答案 1 :(得分:0)

我假设您正在扫描具有类似前缀的字符串的配置文件。为什么不尝试在分组中扫描它们而不是在一个hashmap中扫描它们。如果您已经知道指定的前缀,请尝试为每个前缀创建一个arraylist,并在扫描时接收给定的前缀并相应地添加它。

StringTokenizer s = new StringTokenizer ("Configuration File : Server_intenties = keyId_11503, keyId_11903 : Server_passcodes = keyCode_1678, keyCode_9893", " ");
ArrayList<String> keyCode = new ArrayList();
ArrayList<String> keyId = new ArrayList();


while(s.hasMoreTokens){
    String key = s.nextToken

    if(key.contains("keyId")){
         keyId.add(key);
    }

    if(key.contains("keyCode")){
         keyCode.add(key);
    }
}


System.out.println(keyCode);
System.out.println(keyId);