相关疑难解决方法(0)

删除arrayList,java.lang.UnsupportedOperationException中的项

我想在数组列表选择位置删除项目

我的代码是

    List<String> historylist = Arrays.asList(history);
    if (historylist.size()>=3){
        System.out.print("*************************************************");
        Log.i(MyContants.StoredHistory_TAG,"StoredHistory size========="+ String.valueOf(historylist.size()));
        String removePosition=historylist.get(2);
        historylist.remove(removePosition);
    }
Run Code Online (Sandbox Code Playgroud)

但是我得到了一个Exception UnsupportedOperationException

错误

    12-20 09:16:27.680: I/StoredHistory Class(5715): StoredHistory size=========3
    12-20 09:16:27.680: D/AndroidRuntime(5715): Shutting down VM
    12-20 09:16:27.684: W/dalvikvm(5715): threadid=1: thread exiting with uncaught exception (group=0x4001d7d0)
    12-20 09:16:27.688: E/AndroidRuntime(5715): FATAL EXCEPTION: main
    12-20 09:16:27.688: E/AndroidRuntime(5715): java.lang.RuntimeException: Unable to start activity ComponentInfo{****PACKAGE NAME*****}: java.lang.UnsupportedOperationException
    12-20 09:16:27.688: E/AndroidRuntime(5715):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663)
    12-20 09:16:27.688: E/AndroidRuntime(5715):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
    12-20 09:16:27.688: E/AndroidRuntime(5715):     at android.app.ActivityThread.access$2300(ActivityThread.java:125)
    12-20 09:16:27.688: E/AndroidRuntime(5715):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
    12-20 09:16:27.688: …
Run Code Online (Sandbox Code Playgroud)

android arraylist

4
推荐指数
2
解决办法
5102
查看次数

如何合并两个有序的对象列表?

public  class ListMerge
{
   public static void main( String[] args) 
   {

      Scanner input = new Scanner(System.in);

      System.out.println ("Input length of arraylist 1:");
      int n = input.nextInt();
      ArrayList x = new ArrayList();
      ArrayList y = new ArrayList();
      for (int i = 0; i < n; i++)
      {
        System.out.println ("Input x[ " + i +"] :" );
         x.add(new Integer(i));

      }


      System.out.println ("Input length of arraylist 2:");
      int m = input.nextInt();


      for (int i = 0; i < m; i++)
      {
        System.out.println ("Input …
Run Code Online (Sandbox Code Playgroud)

java

3
推荐指数
1
解决办法
5767
查看次数

调用List.remove(index)时出现java.lang.UnsupportedOperationException

可能重复:
尝试从列表中删除时为什么会出现UnsupportedOperationException?

当我调用List.remove(index)或list.remove(element)时,它会引发java.lang.UnsupportedOperationException.唯一相关的错误代码是这样的:

17:08:10 [SEVERE]       at java.util.AbstractList.remove(Unknown Source)
Run Code Online (Sandbox Code Playgroud)

这是一个例子:

String line = "cmd /say This is a test";
String[] segments = line.split(" ");
String cmd = segments[0];
List rest = Arrays.asList(segments);
rest.remove(0); // This line raises the exception
Run Code Online (Sandbox Code Playgroud)

有谁知道为什么会这样?在我的执行代码中,我检查了索引0处的元素被删除.

java arrays exception list arraylist

3
推荐指数
1
解决办法
5756
查看次数

java.lang.UnsupportedOperationException android arraylist

当我从列表中删除项目时,我得到不受支持的操作异常.

new AlertDialog.Builder(getActivity())
                        .setMessage(result.getString("Message"))
                        .setPositiveButton("OK", new DialogInterface.OnClickListener() {

                            @Override
                            public void onClick(DialogInterface dialog, int which) {
                                miPaymentModel.remove(index);
                            })
                        .show();
Run Code Online (Sandbox Code Playgroud)

}

堆栈跟踪就在这里

01-11 16:42:37.610: E/AndroidRuntime(25930): FATAL EXCEPTION: main
01-11 16:42:37.610: E/AndroidRuntime(25930): java.lang.UnsupportedOperationException
01-11 16:42:37.610: E/AndroidRuntime(25930):    at java.util.AbstractList.remove(AbstractList.java:638)
01-11 16:42:37.610: E/AndroidRuntime(25930):    at com.paksoft.people.Fragment.MiPaymentFragment$DeleteCardAccount$1.onClick(MiPaymentFragment.java:395)
01-11 16:42:37.610: E/AndroidRuntime(25930):    at com.android.internal.app.AlertController$ButtonHandler.handleMessage(AlertController.java:166)
01-11 16:42:37.610: E/AndroidRuntime(25930):    at android.os.Handler.dispatchMessage(Handler.java:99)
01-11 16:42:37.610: E/AndroidRuntime(25930):    at android.os.Looper.loop(Looper.java:137)
01-11 16:42:37.610: E/AndroidRuntime(25930):    at android.app.ActivityThread.main(ActivityThread.java:4499)
01-11 16:42:37.610: E/AndroidRuntime(25930):    at java.lang.reflect.Method.invokeNative(Native Method)
01-11 16:42:37.610: E/AndroidRuntime(25930):    at java.lang.reflect.Method.invoke(Method.java:511)
01-11 16:42:37.610: E/AndroidRuntime(25930):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:788)
01-11 16:42:37.610: E/AndroidRuntime(25930): …
Run Code Online (Sandbox Code Playgroud)

android list

3
推荐指数
1
解决办法
9874
查看次数

了解UnsupportedOperationException

我不太明白我可以在哪里抛出这个异常.

例如,我正在实现Future<T>接口,并且不希望任何人调用该方法:

未来#get(long,TimeUnit).

那么,我可以扔掉UnsupportedOperationException吗?

public T get(long timeout, TimeUnit unit){
    throw new UnsupportedOperationException();
}
Run Code Online (Sandbox Code Playgroud)

事情是该方法的规范没有说什么关于抛出异常.反过来,例外

抛出以指示不支持所请求的操作.

Class UnsupportedOperationException

我的意思是,如果您不希望它被调用或者它可能被认为是不正确的,因为并非所有方法都已实现,它是否常见?在我的具体情况下,我认为调用该方法没有意义......

java interface exception

3
推荐指数
2
解决办法
5561
查看次数

UnSupported Operation Exception - 从地图获取列表并将数据添加到地图

我正在尝试从地图中读取列表并尝试将数据添加到列表中。我收到 java.lang.UnsupportedOperationException。请你让我知道如何解决这个问题

import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.apache.commons.beanutils.BeanUtils;




public class ListOperation {

    public static void main(String[] args){



        Map<String,List<Item>> packageMap = new HashMap<String,List<Item>>();
        Item item = new Item();
        item.billingIdentifier =  "pkg1";
        item.name="pkg1";

        Item item1 = new Item();
        item1.billingIdentifier =  "pkg2";
        item1.name="pkg2";

        Item item2 = new Item();
        item2.billingIdentifier =  "pkg3";
        item2.name="pkg3";

        ItemList itemList = new ItemList();
        itemList.setItem(item);

        ItemList itemList1 = new ItemList();
        itemList1.setItem(item1);       

        ItemList itemList2 = new ItemList();
        itemList2.setItem(item2);   

        List<ItemList> itemLists = new ArrayList<ItemList>();
        itemLists.add(itemList);
        itemLists.add(itemList1); …
Run Code Online (Sandbox Code Playgroud)

java

2
推荐指数
1
解决办法
2319
查看次数

无法对 ArrayList 执行操作

我的目的是对 进行浅层克隆,ArrayList但在此之前我在修改列表时遇到问题。 在列表中添加另一个元素

UnsupportedOrderException
Run Code Online (Sandbox Code Playgroud)

为什么?

UnsupportedOrderException
Run Code Online (Sandbox Code Playgroud)

java oop

2
推荐指数
1
解决办法
355
查看次数

泛型代码删除无法正常工作

我想在Java中测试一些关于泛型的东西,所以我用泛型编写了一个方法,它接受一个列表并删除所有其他元素.我写了这个方法,但它给出了UnsupportedOperationException错误.这里有什么问题?

    Integer[] strArray = new Integer[] {1, 2, 3, 4, 5}; 
    List<Integer> numbers = Arrays.asList(strArray);
    removeOdd(numbers);
    for (Object o : numbers){
         System.out.println( o );
    }
}
        public static <T> void removeOdd ( List<T> list){
            Iterator<T> itr = list.iterator();
            int i = 0;

                while(itr.hasNext())
                {
                    itr.next();
                    i++;
                    if(i % 2 ==1){
                        itr.remove();
                    }
                }   
Run Code Online (Sandbox Code Playgroud)

java generics

1
推荐指数
2
解决办法
85
查看次数

在运行以下代码时,会在.remove()方法中抛出UnsupportedOperationException

在运行以下代码时,UnsupportedOperationException会抛出.remove()方法.

通过此代码:

List list = Array.asList(array) ;
list.remove(0);
Run Code Online (Sandbox Code Playgroud)

java list

1
推荐指数
1
解决办法
135
查看次数

RemoveIf生成异常,为什么?

我尝试使用lambda表达式从列表中删除项目,但removeIf生成异常,为什么?

在这个Orlacle视频jdk8 8 MOOC介绍removeif与列表而不是arraylist.这样对吗 ?https://youtu.be/olKF7VpJMfg?list=PLMod1hYiIvSZL1xclvHcsV2dMiminf19x&t=137

public static void main(String[] args){
        List<String> parole = Arrays.asList("Lambda ", "expressions ", "are ", "cool ");
Predicate <String> findAre= s->"are ".equals(s);         
        parole.removeIf(findAre);
        parole.forEach( System.out::println);
            }
Run Code Online (Sandbox Code Playgroud)

这里用线程"main"中的代码和异常来描述

java lambda predicate

1
推荐指数
1
解决办法
612
查看次数

removeIf()的List不工作​​throw - UnsupportedOperationException

当我尝试从列表中删除元素时removeIf(),它正在抛出UnsupportedOperationException

public class T {
        public static void main(String[] args) {
        String[] arr = new String[] { "1", "2", "3" };
        List<String> stringList = Arrays.asList(arr);
        stringList.removeIf((String string) -> string.equals("2"));
    }
}
Run Code Online (Sandbox Code Playgroud)

有人可以帮助我理解为什么会发生这种情况,我该如何纠正这个问题?

java arraylist java-8

1
推荐指数
1
解决办法
517
查看次数

如何从java中的List <String>中删除和设置?

在java中我有这个功能:

public List<String> seperatekeys(String text) {
    String[] keys = text.split("and");
    List<String> words = Arrays.asList(keys);

    ListIterator<String> iter = words.listIterator();
    while (iter.hasNext()) {
        String currentWord = iter.next().trim();
        if (currentWord.equals("")) {
            iter.remove();
        } else {
            iter.set(currentWord);
        }
    }

    return words;
}
Run Code Online (Sandbox Code Playgroud)

但是当我执行remove()时,它会崩溃说不支持的操作错误.

谁知道怎么修它?

谢谢

java loops list

0
推荐指数
1
解决办法
35
查看次数

从列表中删除元素时出现UnsupportedOperationException

我有两个逗号分隔值的字符串,比如一个数字从1到10,另一个有素数.我想要

从数字中删除素数

.

这是我的代码片段:

String numbers = "1,2,3,4,5,6,7,8,9,10";
String prime = "2,3,5,7";

List<String> numList = Arrays.asList(numbers.split(","));
numList.removeAll(Arrays.asList(prime.split(",")));
Run Code Online (Sandbox Code Playgroud)

我收到了UnsupportedOperationException.任何帮助,将不胜感激.

java list

-1
推荐指数
1
解决办法
628
查看次数

标签 统计

java ×11

list ×5

arraylist ×3

android ×2

exception ×2

arrays ×1

generics ×1

interface ×1

java-8 ×1

lambda ×1

loops ×1

oop ×1

predicate ×1