Java 如何将项(作为第一项)添加到arrayList

Java 如何将项(作为第一项)添加到arrayList,java,android,Java,Android,在我的应用程序中,我希望向arrayList添加一些值,并且我希望添加的项将是arrayList的第一项。我使用这个代码 Sphere[] spheres = new ObjectMapper().readValue(response.getJSONArray("data").toString(),Sphere[].class); mSphereList = Arrays.asList(spheres); Sphere sphere

在我的应用程序中,我希望向arrayList添加一些值,并且我希望添加的项将是arrayList的第一项。我使用这个代码

Sphere[] spheres = new ObjectMapper().readValue(response.getJSONArray("data").toString(),Sphere[].class);
                mSphereList = Arrays.asList(spheres);
                Sphere sphere = new Sphere();
                sphere.setId(0);
                sphere.setTitle("All");
                mSphereList.add(0,sphere);
                mListView.setAdapter(new CategoryAdapter(CategoryActivity.this,mSphereList));
当我运行应用程序时,出现异常

ERROR/AndroidRuntime(25878): FATAL EXCEPTION: main
        java.lang.UnsupportedOperationException
        at java.util.AbstractList.add(AbstractList.java:404)

我在这里做错了什么。你能告诉我一个好的解决方法吗?

你可以在指定的索引处添加

list.add(1, object1)
list.add(2, object3)
list.add(2, object2)

您可以在指定的索引处添加

list.add(1, object1)
list.add(2, object3)
list.add(2, object2)
Arrays.asList不返回ArrayList。它返回一个固定大小的列表,由原始数组作为支持

您必须创建一个真正的ArrayList:

mSphereList = new ArrayList<>(Arrays.asList(spheres));
Arrays.asList不返回ArrayList。它返回一个固定大小的列表,由原始数组作为支持

您必须创建一个真正的ArrayList:

mSphereList = new ArrayList<>(Arrays.asList(spheres));
将返回一个固定大小的列表,这就是添加失败的原因。您需要使用:

mSphereList = new ArrayList<>(Arrays.asList(spheres));
将返回一个固定大小的列表,这就是添加失败的原因。您需要使用:

mSphereList = new ArrayList<>(Arrays.asList(spheres));

感谢您的回答,但我知道这一点,但我希望在Array.asList方法之后添加项。感谢您的回答,但我知道这一点,但我希望在Array.asList方法之后添加项。