我们如何在arraylist中添加(long,String)?

时间:2015-10-19 07:52:58

标签: java arrays

我需要创建一个类型为 - (long,String)的列表 喜欢 -

 ArrayList a = new ArrayList();
         a.add(1L,branchName);

我该怎么做呢,因为如果我使用list它将只接受int,String。

3 个答案:

答案 0 :(得分:3)

您应该注意ArrayList的{​​{1}}在给定的int索引中添加String元素(如果索引有效)。 add(int,String)参数不属于int

的内容

也许ArrayList不是您的正确选择。如果您希望将ArrayList键映射到Long值,请使用String

Map<Long,String>

答案 1 :(得分:2)

您可以定义自定义类,例如

@Repository
public interface DBSettingRepository extends JpaRepository<DBSetting, Long>{}

然后将此实例添加到ArrayList:

class IndexAndBranchName {
  long index;
  String branchName;
}

您是否使用此方法或类似Eran的方法取决于您随后使用该列表所需的内容:

  • 如果你想看看&#34;分支&#34;按索引,使用ArrayList<IndexAndBranchName> a = new ArrayList<>(); a.add(new IndexAndBranchName(index, branchName)); ;但是,每个键只能存储一个值;如果你想要每个键有多个值,你可以使用Guava Map或类似的。
  • 如果您只想要所有索引/分支名称对,则可以使用此方法。

答案 2 :(得分:1)

您可以使用以下代码解决问题。

HashMap也是一个更好的选择,但是如果你只想要ArrayList则使用它。

List<Map<Object, Object>> mylist =  new ArrayList<Map<Object, Object>>();
    Map map =  new HashMap<>();
    map.put(1L, "BranchName");
    mylist.add(map);