标签: arraylist

为什么我的ArrayList.remove(id)调用不起作用?

我有一个ArrayList,其中包含我想删除的一些项目.我有要删除的项目的ID存储在另一个列表中.认为以下代码应该是平常工作的,但由于某种原因,remove()调用返回一个false值:

  ArrayList<Integer> toRemove = new ArrayList<Integer>();
  ArrayList<JCheckBox> al = new ArrayList<JCheckBox>();

  /* Code that adds a bunch of items to al, and a few integers to toRemove */

  System.out.println("Size before removing: " + al.size());
  for (int i = toRemove.size() - 1; i >= 0; i--) {
    System.out.println("Removing id: " + toRemove.get(i) + ": ");
    System.out.println(al.get(toRemove.get(i)));
    System.out.println(al.remove(toRemove.get(i)));
  }
  System.out.println("Size after removing: " + al.size());
Run Code Online (Sandbox Code Playgroud)

如果get()调用也返回了false值,我会得到它,但它实际上会返回有问题的对象.我在这里错过了什么?

上面代码的输出:

Size before removing: 3
Removing id: 2: 
javax.swing.JCheckBox[...]
false
Size after removing: 3
Run Code Online (Sandbox Code Playgroud)

java debugging arraylist

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

Java集合.为什么没有原始类型?

可能重复:
在java集合中存储原始值?

我的Java教科书说集合的元素,例如ArrayList,不能是原始类型.是否有一个原因?我的意思是Sun的某个人是否决定了这一点,或者是否存在阻碍这样做的障碍?我理解我的例子半答案我的问题,因为ArrayList需要一个对象,而原语不是对象.但后来我想为什么它们也不能有原始类型呢?

java collections arraylist primitive-types

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

通过intent传递对象的ArrayList - Java(Android)

我试图通过意图传递对象的ArrayList但无法让它工作.这是我有的:

public class QuestionView extends Activity {

    //variables and other methods...

    public void endQuiz() {
        Intent intent = new Intent(QuestionView.this, Results.class);
        intent.putExtra("correctAnswers", correctAnswers);
        intent.putExtra("wrongAnswers", wrongAnswers);
        intent.putParcelableArrayListExtra("queries", queries);
        startActivity(intent);
    }
}
Run Code Online (Sandbox Code Playgroud)

意在这里收到:

public class Results extends Activity {

    int cAnswers;
    int wAnswers;
    ArrayList<Question> qs;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.resultsmain);

        cAnswers = getIntent().getIntExtra("correctAnswers", -1);
        wAnswers = getIntent().getIntExtra("wrongAnswers", -1);

        qs = getIntent().getParcelableArrayListExtra("queries");

                    //more code...
    }
}
Run Code Online (Sandbox Code Playgroud)

正在接收两个整数,correctAnswer和wrongAnswers,我可以使用它们.ArrrayList没有通过.在endQuiz()方法中没有错误,但'qs = getIntent().getParcelableArrayListExtra("queries");' 抛出错误并说"绑定不匹配".

对此有任何帮助表示赞赏!

问题类:

public class Question {
    String a1;
    String a2; …
Run Code Online (Sandbox Code Playgroud)

java android arraylist android-intent

13
推荐指数
2
解决办法
2万
查看次数

如何将整数添加到String ArrayList中?

List list = new ArrayList<String>() ;
list.add(1) ;
Integer hello = (Integer) list.get(0) ;
System.out.println(hello);
Run Code Online (Sandbox Code Playgroud)

上面的代码有一个类型为List的引用,引用了String类型的ArrayList实例.当执行该行时,是不是将1添加到ArrayList(String类型)?如果是,那么为什么允许这样做?list.add(1)

java arraylist

13
推荐指数
2
解决办法
430
查看次数

如果将ArrayList引用为List,为什么ArrayList性能会有所不同?

在kjellkod的文章中提到过,如果我们传入作为参数ArrayList接收的方法List,那么我们会失去性能,因为ArrayList实现了额外的RandomAccess接口.文章示例:

// SLOWER: as shown in http://ideone.com/1wnF1
private static void linearInsertion(Integer[] intArray, List<Integer> list) {
[...]
int list_size = list.size();
for (int i = 0; i < list_size; i++) {
if (integer.compareTo(list.get(i)) >= 0) { // ... more code

// FASTER: as shown in http://ideone.com/JOJ05
private static void linearInsertion(Integer[] intArray, ArrayList<Integer> list) {
[...]
int list_size = list.size();
for (int i = 0; i < list_size; i++) {
if (integer.compareTo(list.get(i)) >= 0) …
Run Code Online (Sandbox Code Playgroud)

java iteration time arraylist random-access

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

如何在Java中将对象添加到ArrayList

我想添加一个对象ArrayList,但每次我添加一个新对象到ArrayList3个属性:objt(name, address, contact)我得到一个错误.

import java.util.ArrayList;
import java.util.Scanner;
public class mainClass {
    public static void main(String args[]){

        Scanner input = new Scanner(System.in);
        System.out.println("Plz enter Name : ");
        String name = input.nextLine();
        System.out.println("Plz enter Address : ");
        String address = input.nextLine();
        System.out.println("Plz enter ContactNo : ");
        String contact = input.nextLine();


        ArrayList<Data> Contacts = new ArrayList<Data>();
        Data objt = new Data();
        Contacts.add(objt.Data(name, address, contact));
    }
}
Run Code Online (Sandbox Code Playgroud)

在这里,Data我正在尝试创建一个对象并将其传递给一个类ArrayList.

public class Data {

        private String …
Run Code Online (Sandbox Code Playgroud)

java add arraylist

13
推荐指数
1
解决办法
27万
查看次数

从ArrayList <Long>到Intent的Sane方式

我正在编写一个应用程序,通过json从服务器中提取多个long,然后将该列表从一个活动传递到另一个活动.基本骨架如下所示:

public void onResponse(Map result)
{
    ArrayList handles= (ArrayList)result.get("fileHandles");

    Intent intent = new Intent(FirstActivity.this, SecondActivity.class);
    intent.putExtra("handles", handles);
}
Run Code Online (Sandbox Code Playgroud)

所以,第一个问题变得很明显,对于putExtra的唯一方法是putIntegerArrayListExtra,putStringArrayListExtra,putCharSequenceArrayListExtra,和putParcelableArrayListExtra.Thinking Long可能是可以分配的,我错了它不起作用(即使我使用ArrayList<Long>).接下来我以为我只是通过了一个很长的[],但是我认为没有直接的转换可以接受ArrayList<Long>long [] intent.putExtra.这是我最终得到的解决方案:

ArrayList handles= (ArrayList)result.get("fileHandles");
long [] handleArray = new long[handles.size()];
for (int i = 0; i < handles.size(); i++)
{
    handleArray[i] = Long.parseLong(handles.get(i).toString());
}
Run Code Online (Sandbox Code Playgroud)

显然这对我来说似乎有点荒谬,但我尝试的其他所有转换似乎都因某种原因而抱怨.在考虑到这一点之前,我已经考虑重新思考我的序列化以解决问题,但我发现ArrayList<Long>从活动到活动的过程可能非常困难.有没有更明显的解决方案我错过了?

java android arraylist android-intent long-integer

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

JSON Array to Java对象

我需要解析一个如下所示的json文件:

[
  {
    "y": 148, 
    "x": 155
  }, 
  {
    "y": 135, 
    "x": 148
  }, 
  {
    "y": 148, 
    "x": 154
  }
]
Run Code Online (Sandbox Code Playgroud)

我想将这些X坐标和Y坐标放入JavaObject Click中,该类如下所示:

public class Click {
    int x;
    int y;


    public Click(int x, int y) {
        this.x = x;
        this.y = y;
    }

    public int getX() {
        return x;
    }

    public void setX(int x) {
        this.x = x;
    }

    public int getY() {
        return y;
    }

    public void setY(int y) {
        this.y = y;
    }
}
Run Code Online (Sandbox Code Playgroud)

我看过gson,因为他们说它很容易退出,但我不知道如何从我的档案中做到这一点.

java parsing json arraylist gson

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

将List <Long>转换为逗号分隔的字符串

嗨,我有我需要转换的要求List的Long数据类型,以逗号分隔String.这将是适当的方式.我已经考虑过使用字符串构建器或将其转换为List<String>然后使用StringUtilsjoin来获取String.

我正在寻找java 7解决方案,不使用guava或java 8.

java arraylist apache-stringutils

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

如何检查字符串是否包含字母表中的所有字母?

我试图检查一个字符串是否包含字母表中的所有字母.我创建了一个ArrayList包含整个字母表的内容.我将字符串转换为char数组,并且我正在遍历字符数组,并且对于ArrayList我正在从中移除元素的每个字符.最后,我正在尝试检查是否Arraylist为空以查看是否已删除所有元素.这表明字符串包含字母表中的所有字母.

不幸的是,代码IndexOutOfBoundsException在if条件中抛出错误,我将从arraylist中删除元素

List<Character> alphabets = new ArrayList<Character>();

alphabets.add('a');
alphabets.add('b');
alphabets.add('c');
alphabets.add('d');
alphabets.add('e');
alphabets.add('f');
alphabets.add('g');
alphabets.add('h');
alphabets.add('i');
alphabets.add('j');
alphabets.add('k');
alphabets.add('l');
alphabets.add('m');
alphabets.add('n');
alphabets.add('o');
alphabets.add('p');
alphabets.add('q');
alphabets.add('r');
alphabets.add('s');
alphabets.add('t');
alphabets.add('u');
alphabets.add('v');
alphabets.add('w');
alphabets.add('x');
alphabets.add('y');
alphabets.add('z');

// This is the string- I've just put a random example
String str = "a dog is running crazily on the ground who doesn't care about the world";

//Remove all the spaces
str = str.replace(" ", "");

// Convert …
Run Code Online (Sandbox Code Playgroud)

java string arraylist

13
推荐指数
6
解决办法
1万
查看次数