Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java ArrayList仅插入单个元素 ArrayList fixList=new ArrayList(); StringTokenizer st=新的StringTokenizer(idlist,“,”); int指数=0; 而(st.hasMoreElements()){ Long id=Long.parseLong(st.nextElement().toString()); add(index++,fixManager.getFixById(id)); }_Java_Collections - Fatal编程技术网

Java ArrayList仅插入单个元素 ArrayList fixList=new ArrayList(); StringTokenizer st=新的StringTokenizer(idlist,“,”); int指数=0; 而(st.hasMoreElements()){ Long id=Long.parseLong(st.nextElement().toString()); add(index++,fixManager.getFixById(id)); }

Java ArrayList仅插入单个元素 ArrayList fixList=new ArrayList(); StringTokenizer st=新的StringTokenizer(idlist,“,”); int指数=0; 而(st.hasMoreElements()){ Long id=Long.parseLong(st.nextElement().toString()); add(index++,fixManager.getFixById(id)); },java,collections,Java,Collections,这里的Arraylist只能接受一个元素。我调试了它,它只需要一个元素,但count显示arraylist中有两个或更多元素。为什么不直接添加元素,而不定义索引 ArrayList<Fix> fixList = new ArrayList<Fix>(); StringTokenizer st = new StringTokenizer(idlist, ","); int index = 0; while(st.hasMoreElements()) { Long i

这里的Arraylist只能接受一个元素。我调试了它,它只需要一个元素,但count显示arraylist中有两个或更多元素。

为什么不直接添加元素,而不定义索引

ArrayList<Fix> fixList = new ArrayList<Fix>();
StringTokenizer st = new StringTokenizer(idlist, ",");
int index = 0;
while(st.hasMoreElements()) {
    Long id = Long.parseLong(st.nextElement().toString());          
    fixList.add(index++,fixManager.getFixById(id));
}

查看使用
HashMap
进行任何类型的映射

fixList.add(fixManager.getFixById(id));

您确定fixManager为每个调用返回对象吗?如果您尝试添加null,ArrayList不会出现问题。

您的语法正确,但方法正确

fixList.add(fixManager.getFixById(id));
内部循环仅基于该Id返回一个元素


您可以通过调试fixManager中的
getFixById(id)
看到它

fixManager.getFixById(id)
ArrayList x=new ArrayList();

对于(int i=0;i您不会像那样在ArrayList中添加多个元素..您可以使用HashMap实现您想要实现的功能..请为sameJust使用
fixList.add(fixManager.getFixById(id))编写输入和输出
调试时,是否查看ArrayList中的内部数组?如果是,则如果使用默认构造函数,将预先分配长度为10的数组。查看
size
属性以查看实际存储的元素数。“只需一个元素,但计数显示两个…”.什么是
count
?效果是一样的,所以这不可能是实际问题,对吗?@CostiCiudatu如果效果是一样的,那么问题出在
fixManager.getFixById(id)
…或StringTokenizer只有一个令牌
fixManager.getFixById(id)
ArrayList <Integer> x = new ArrayList<Integer>();

    for(int i=0;i<15;i++)
    {
        x.add(i);
        x.add(i);

    }

    for(int i=0;i < x.size();i++)
    {
        System.out.println(x.get(i));
    }