使用两个项创建列表,例如List <string,integer =“”> </string,>

时间:2014-04-16 09:06:36

标签: java list arraylist

我想创建一个包含String文件路径和Integer的List(int存储文件路径的位置)。

我最终会得到一个例如10​​0个项目的列表,可能更多或可能更少。

然后,我想将此列表拆分为5个较小的列表。

我也需要存储int,因为当列表被拆分为较小的列表时,我还需要从原始的大列表中存储它的正确位置。

例如,这是一个包含10个项目的列表

abc,0
bgs,1
dwd,2
th,3
ht,4
hth,5
ef,6
fe,7
fe,8
fef,9

分裂后,它看起来像:

abc,0
bgs,1

dwd,2
th,3

ht,4
hth,5

等等,6
fe,7

fe,8
fef,9

我查看了使用散列图,但我找不到如何拆分它的示例。

拆分后,我需要从每个元素中检索两个值,例如:我将遍历每个列表并使用&#39; abc&#39;和&#39; 0&#39;等等

4 个答案:

答案 0 :(得分:3)

创建一个小类来保存您的数据:

public class ListItem {
  public String path;
  public int pos;
}

然后使用List&lt; ListItem&gt;。

答案 1 :(得分:0)

使用std::pair作为字符串和整数 之后创建一个对列表:

List<Pair<String, Integer>>

然后使用list.splice 创建新列表。

答案 2 :(得分:0)

创建一个包含索引的类:

public void MyElement {
    private String s;
    private int n;
    private int index;
}

使用Guava Lists.partition然后拆分列表。

答案 3 :(得分:0)

你也可以使用Map,获取它的EntrySet并迭代它。