如何在ArrayList对象中存储方法或值

时间:2018-11-07 04:17:23

标签: java arraylist

这是我的主要课程

ArrayList<String> e = new ArrayList<>();
e.add("Mark");

这是我的方法类

int counter = 0;
public int increaseCounter(){
    counter++;
    return counter;
}

我该怎么做

    e.get(0) = method.increaseCounter();

因此Mark的计数器可以为1

3 个答案:

答案 0 :(得分:2)

具有Map,例如:-

Map<String, Integer> e = new HashMap<>();
e.put("Mark", 0);

然后增加Mark的计数器,请致电

e.merge("Mark", 1, Integer::sum);

完整示例:-

public static void main(String[] args) {
    Map<String, Integer> e = new HashMap<>();
    e.put("Mark", 0);
    increaseCounter(e, "Mark");
    System.out.println(e.get("Mark"));
}

private static void increaseCounter(Map<String, Integer> e, String key) {
    e.merge(key, 1, Integer::sum);
}

打印1

答案 1 :(得分:0)

您可以使用此:

import java.util.Map;
import java.util.HashMap;

Map<String, Integer> e = new HashMap<String, Integer>();

e.put("Mark", 0);

答案 2 :(得分:0)

您必须进行面向对象的编程才能做到这一点。

例如

class Data{
   private int counter = 0;
   public int increaseCounter(){
   counter++;
   return counter;
 }
}

然后仅使用// Java 5-9 ...

  List<Data> e = new ArrayList<>();
  e.add(new Data());

或// Java 10 + ...

 var e = new ArrayList<Data>();
 e.add(new Data());