当前位置:  开发笔记 > 编程语言 > 正文

Java:数组和向量

如何解决《Java:数组和向量》经验,为你挑选了3个好方法。

我习惯使用PHP,但最近我一直在使用Java,而且我正在努力解决这个问题.我想在Java中保存这个表示:

Array ( 
        ["col_name_1"] => Array ( 
                               1 => ["col_value_1"], 
                               2 => ["col_value_2"], 
                               ... , 
                               n => ["col_value_n"] 
                          ),
        ["col_name_n"] => Array ( 
                               1 => ["col_value_1"], 
                               2 => ["col_value_2"], 
                               ... , 
                               n => ["col_value_n"] 
                          )
)

是否有一种干净的方式(即没有脏代码)来保存这个东西在Java?注意; 我想使用字符串作为数组索引(在第一维度),我不知道数组的确定大小..



1> Dave L...:

尝试使用Map>.这将允许您将字符串作为键/索引用于外部映射,并将结果作为字符串列表作为值.您可能希望使用a HashMap作为外部地图,ArrayList使用内部列表.

如果你想要一些类似于你初始化它的PHP的干净代码,你可以这样做:

Map> columns = new HashMap>() {{
    put("col_name_1", Arrays.asList("col_val_1", "col_val_2", "col_val_n"));
    put("col_name_2", Arrays.asList("col_val_1", "col_val_2", "col_val_n"));
    put("col_name_n", Arrays.asList("col_val_1", "col_val_2", "col_val_n"));
}};



2> Vinko Vrsalo..:

您可以使用Map和List(这些都是以多种方式实现的接口,供您选择最适合您的情况).

有关更多信息,请查看Map和List的教程,也许您应该从Collections教程开始.

一个例子:

import java.util.*;

public class Foo {
    public static void main(String[] args) {
        Map> m = new HashMap>();
        List l = new LinkedList();
        l.add("col_value_1");
        l.add("col_value_2");
        //and so on
        m.put("col_name_1",l); //repeat for the rest of the colnames

       //then, to get it you do

       List rl = m.get("col_name_1");

    }
}



3> sblundy..:

你想要一个地图,它几乎可以被任何东西所锁定.HashMap在大多数情况下都可以工作.

像这样的东西.

List col1Vals = new java.util.ArrayList();
col1Vals.add("col_value_1");
col1Vals.add("col_value_2");
Map> map = new HashMap>();
map.put("col_name_1", col1Vals);

如果你想要更简单的东西,那么commons-lang库就有了一个MultiMap.

推荐阅读
ERIK又
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有