哪个更好?

Him*_*huR 1 java performance android

我需要维护一个包含两个字符串类型值的列表,例如v1,v2,每个键说k.什么是更好的选择

  1. Hashmap,其值包含包含v1和v2的字符串,并使用split()在选择后检索正确的值.
  2. Hashmap,其值包含两个字符串变量的数组

我正在创建一个Android应用程序,所以只关注性能.在第二种情况下,我可以直接访问,但每个值将包含另一个数组(我不知道,但它看起来像一个复杂的方式),而在第一种情况下,它将在每个访问上使用拆分函数,如v.split(",")[0 ]

请指导我.

Map<String,String[]> listMap= new HashMap<String, String[]>();
Map<String,String> listMap1= new HashMap<String, String>();;

for (int i = 1; i < tl.getChildCount(); i++) {
    TableRow row = (TableRow) tl.getChildAt(i);
    COLOR_TABLE clr = (COLOR_TABLE) row.getTag();

    if (clr == COLOR_TABLE.green) {
        //comp
        String x1=listMap1.get( ((TextView) row.getChildAt(0)).getText());
        String x2=listMap.get( ((TextView) row.getChildAt(0)).getText());
        // now i have to add two string values in a list seperately
    }
}
Run Code Online (Sandbox Code Playgroud)

lui*_*979 5

永远不要滥用字符串!它有时可能很慢而且它们不是为此而制造的.

如果要更加面向对象,可以使用通用的Pair类:

public class Pair<A, B> {

  public A first;
  public B second;

  public Pair(A first, B second) {
    this.first = first;
    this.second = second;
  } 
}
Run Code Online (Sandbox Code Playgroud)

当然,你可以更好地使用访问器等.