标签: arraylist

如何显示arraylist中的所有元素?

说我有一个属性的汽车类make和registration,我创建一个ArrayList来存储它们.如何显示ArrayList中的所有元素?

我现在有这个代码:

public Car getAll()
{
    for(int i = 0; i < cars.size(); i++) //cars name of arraylist
    {
        Car car = cars.get(i);  
        {
            return cars.get (i);
        }
    }
    return null;
}
Run Code Online (Sandbox Code Playgroud)

它编译得很好但是当我在我的测试器类中使用以下代码进行尝试时:

private static void getAll(Car c1)
{
    ArrayList <Car> cars = c1.getAll(); // error incompatible type
    for(Car item : cars)
    {   
        System.out.println(item.getMake()
                + " "
                + item.getReg()
                );
    }
}
Run Code Online (Sandbox Code Playgroud)

我收到了不兼容类型的错误.我的编码是否正确?如果没有,有人可以告诉我它应该如何?

谢谢

java arraylist car-analogy

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

php中的ArrayList

php除了之外是否有任何数据结构array.是否可以创建一个数据结构,如ArrayList?如果是这样,请提供一些参考或某种实施方式.

php arraylist data-structures

17
推荐指数
3
解决办法
7万
查看次数

将每个项目与ArrayList中的每个其他项目进行比较

我遇到的问题应该是一个非常简单的问题.

我需要将arrayList中的每个项目与列表中的其他项目进行比较,而不将项目与自身进行比较.它并不像调用equals()那样简单,它涉及一些我从下面的代码中省略的自定义逻辑.此外,不应以任何方式更改ArrayList.

我似乎遇到的问题是,一旦我进入第二个循环,我不知道我是否有另一个要比较的对象(因为它是一个可变大小的列表).

for(int i =0; i< list.size(); i++){ 
    //get first object to compare to
    String a = list.get(i).getA();

    Iterator itr = list.listIterator(i + 1 ); // I don't know if i + 1 is valid
    while(itr.hasNext()){
        // compare A to all remaining items on list
    }
}
Run Code Online (Sandbox Code Playgroud)

我想我可能会以错误的方式解决这个问题,我愿意接受有关如何做得更好的建议或提示.

java sorting algorithm compare arraylist

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

如何静态初始化二维列表?

如何静态初始化多维列表?

这有效:

List<List<Integer>> list = new ArrayList<List<Integer>>();
Run Code Online (Sandbox Code Playgroud)

但我想用一些静态列表初始化列表,如:(1,2,3),(4,5,6)和(7,8,9)

java initialization list arraylist multidimensional-array

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

Java中的List或ArrayList声明差异是什么?

我是Java新手.我想知道之间的区别:

List< String > list = new ArrayList<>();
Run Code Online (Sandbox Code Playgroud)

和

ArrayList< String > list = new ArrayList<String>();
Run Code Online (Sandbox Code Playgroud)

和

ArrayList< String > list = new ArrayList<>();
Run Code Online (Sandbox Code Playgroud)

谢谢

java list arraylist

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

从数组列表中删除元素后java.util.ConcurrentModificationException android

我在我的Android应用程序中有以下代码:

/**
 * callback executed after fetching the data.
 */
public void OnPointsFetch(ArrayList<Shop> result) {

    toggleLoader(false);

    this.shops = result;

    if(activeFilter == Constants.POINTS_FILTER_AVAILABLE){
        for(Shop s : result){
            if(s.getClientPoints().getPointsAvailable() == 0){
                this.shops.remove(s);
            }
        }
    }
    else{
        for(Shop s : result){
            if(s.getClientPoints().getPointsSpent() == 0){
                this.shops.remove(s);
            }   
        }
    }


    ptsListAdapter.setCollection(this.shops);
    ptsListAdapter.setFilter(this.activeFilter);

}
Run Code Online (Sandbox Code Playgroud)

在异步任务的结果上调用此方法.我需要在传递给列表适配器之前删除集合的一些元素.

    11-23 17:39:59.760: E/AndroidRuntime(19777): java.util.ConcurrentModificationException
11-23 17:39:59.760: E/AndroidRuntime(19777):    at java.util.ArrayList$ArrayListIterator.next(ArrayList.java:569)
Run Code Online (Sandbox Code Playgroud)

android exception arraylist java.util.concurrent

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

Android Parcelable - 当IA是接口时,写入和读取ArrayList <IA>

我有一个接口IA和类B和C来实现它们.B和C都可以实现Parcelable.

然后我有一个棘手的部分:

D级有一个ArrayList< IA >.我也需要在插入B和C类arraylist.它们具有相同的结构,但"IS-A"关系不适用.

我需要将D从一个活动传递到另一个活动作为包裹.

我试着写(ArrayList<IA>) in.readSerializable但我得到了IOException.我知道如果IA不是一个接口问题很容易,但我似乎无法找到一个简单的解决方案.

有任何想法吗?

@SuppressWarnings("unchecked")
public D (Parcel in) {
    list = new ArrayList<IA>();
    (...)    
    list = (ArrayList<IA>) in.readSerializable 
    }

@SuppressWarnings("rawtypes")
public static final Parcelable.Creator CREATOR =
new Parcelable.Creator() {
    public D createFromParcel(Parcel in) {
        return new D(in);
    }

    public D[] newArray(int size) {
        return new D[size];
    }
};

public int describeContents() {
    return 0;
} …
Run Code Online (Sandbox Code Playgroud)

java android interface arraylist parcelable

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

为什么ArrayList在内部使用Object [](而不是E [])?

ArrayList在内部使用Object数组:

private transient Object[] elementData;
Run Code Online (Sandbox Code Playgroud)

并且在E get(int)方法中它被转换为E类型.

我的问题是:为什么ArrayList不使用E []来存储对象?

我知道在编译器运行之后,类型擦除会将E []转换为Object [],但是仍然需要在每个get()调用中转换为E?

如果使用E [],则无需使用以下代码

return (E) elementData[index];
Run Code Online (Sandbox Code Playgroud)

使用Object []的选择是为了表现?

当类型擦除将E []转换为Object []时,java会在内部进行强制转换以在泛型方法中返回正确的类型吗?

EDITED

让我更好地解释一下我的疑点是什么:

如果ArrayList使用E []而不是Object [],则在方法get(int)中不需要强制转换.这将提高性能(显然).

但是,没有魔法,我认为使用E [] JVM无论如何都会抛出对象,因为类型擦除会在Object中转换.正确?

ps:抱歉我的英语不好.

java arrays generics arraylist

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

Java返回一个空列表

我有我的Java方法如下;

public List<Lookup> findAll(String lang) {
    Query query = entityManager.createNamedQuery("Lookup.findAll");
    if (isValidLang(lang)) {
        query.setParameter("lang", lang);
        return query.getResultList();
    } else {
        //return empty list
    }
}
Run Code Online (Sandbox Code Playgroud)

现在该方法返回List以获得有效的lang匹配.

但如果不是这样,我想返回一个空列表.我的问题是如何更新代码以及返回空列表的最佳方法是什么,以便代码不会失败?

java return arraylist

17
推荐指数
3
解决办法
5万
查看次数

将String Array添加到ArrayList

我有2个String阵列

String[] question1 = {"Q1","Q2","Q3","Q4"};
String[] question2 = {"Q5","Q6","Q7","Q8"};
Run Code Online (Sandbox Code Playgroud)

一个 ArrayList

ArrayList<String> aList = new ArrayList<String>();
Run Code Online (Sandbox Code Playgroud)

如果我想访问其成员,我该如何操纵它们ArrayList.我尝试将两个数组转换为String,但它没有给出解决方案.

java arrays string arraylist

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