标签: arraylist

比较ArrayList问题中的新整数对象

我存储的Integer对象表示我想要跟踪的对象的索引.稍后在我的代码中,我想检查特定对象的索引是否对应于我之前存储的那些整数之一.我这样做是通过创建一个ArrayList并从for循环的索引创建一个新的Integer:

ArrayList<Integer> courseselectItems = new ArrayList();

//Find the course elements that are within a courseselect element and add their indicies to the ArrayList
for(int i=0; i<numberElementsInNodeList; i++) {
    if (nodeList.item(i).getParentNode().getNodeName().equals("courseselect")) {
        courseselectItems.add(new Integer(i));
    }
}
Run Code Online (Sandbox Code Playgroud)

然后,我想稍后检查ArrayList是否包含特定索引:

//Cycle through the namedNodeMap array to find each of the course codes
for(int i=0; i<numberElementsInNodeList; i++) {
    if(!courseselectItems.contains(new Integer(i))) {
        //Do Stuff
    }
}
Run Code Online (Sandbox Code Playgroud)

我的问题是,当我使用new Integer(i)will 创建一个新的Integer时,我可以使用比较整数ArrayList.contains()吗?也就是说,当我使用创建新对象时new Integer(i),如果用于创建它们的int值相同,那么它是否与先前创建的Integer对象相同?

我希望我没有把它弄得太清楚.谢谢您的帮助!

java integer arraylist

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

Java:ArrayList上的StringUtils.join返回NoSuchMethodError异常

我有一个ArrayList,我想加入','的分隔符,我在这里读到一些答案,StringUtils.join是一个不错的选择,但问题是,当我尝试加入ArrayList时,我得到以下错误:

java.lang.NoSuchMethodError: org.apache.commons.lang.StringUtils.join(Ljava/util/Collection;C)Ljava/lang/String;
Run Code Online (Sandbox Code Playgroud)

码:

ArrayList<String> friendsList = new ArrayList<String>();
.
.
.
StringUtils.join(friendsList, ',');
Run Code Online (Sandbox Code Playgroud)

我错过了什么?

当我使用netbeans进行编码时,它不会提醒我这个错误,只有在我尝试编译时才会发生.

java arraylist apache-commons

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

如何使用多个排序条件对ArrayList进行排序?

我有一个包含Quote对象的数组列表.我希望能够按名称,更改和百分比更改按字母顺序排序.我怎样才能对我的arraylist进行排序?

package org.stocktwits.model;

import java.io.Serializable;
import java.text.DecimalFormat;

    public class Quote implements Serializable {

        private static final long serialVersionUID = 1L;

        public String symbol;
        public String name;
        public String change;
        public String percentChange;
        public String open;
        public String daysHigh;
        public String daysLow;
        public String dividendYield;
        public String volume;
        public String averageDailyVolume;
        public String peRatio;
        public String marketCapitalization;
        public String yearHigh;
        public String yearLow;
        public String lastTradePriceOnly;
        public DecimalFormat df = new DecimalFormat("#,###,###,###,###,##0.00");
        public DecimalFormat vf = new DecimalFormat("#,###,###,###,###,##0");

        public String getSymbol() …
Run Code Online (Sandbox Code Playgroud)

java sorting collections arraylist

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

java中的permute/scramble arraylist元素

假设我有整数的arraylist ...有没有办法可以在arraylist中生成元素的随机排列/排列

如果清单是{1,2,3,4,5,6}

调用一些方法randomPermute()会把它改成随机的东西

{1,3,2,6,5,4}

java random arraylist permutation data-structures

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

以最快和最有效的方式反向遍历ArrayList

有没有比使用ListIterator?更快,更有效的方法?

ListIterator<Integer> itr = list.listIterator(list.size());
while(itr.hasPrevious()){
    System.out.println(itr.previous());
}
Run Code Online (Sandbox Code Playgroud)

java iteration arraylist micro-optimization

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

如何从指示的索引中删除arraylist中的元素

如图所示,一次运行一个方法后,我想删除旧项目,并准备下次计算,但我想知道如何从指示的索引中删除arraylist中的元素,如队列,服从FIFO算法? Q1

java queue element arraylist

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

Java Arraylist大小声明和性能

考虑以下Java代码(完成,编译并运行正常).

代码创建一个包含5,000,000个整数(1到5百万)的数组,在其上循环,并创建一个找到的完美正方形的ArrayList.使用天真的技术检测完美的正方形,而不是位操作,但这不是手头问题的焦点.

在数学上,在1到5M之间,有2236个完美的正方形.因此,放置完美正方形的ArrayList将具有2236的最终大小.

import java.util.ArrayList;

public class PerfSquares {

    public static ArrayList<Integer> perfectSquares(int[] arr) {
        ArrayList<Integer> al = new ArrayList<Integer>();
    //  ArrayList<Integer> al = new ArrayList<Integer>(arr.length);

        for (int i = 0; i < arr.length; i++) {
            double root = Math.sqrt(arr[i]);
            int irt = (int) Math.floor(root);
            if (irt * irt == arr[i]) {
                al.add(arr[i]);
            }
        }
        return al;
    }

    public static void main(String[] args) {
        int[] arr = new int[5000000];
        for (int i = 0; i < arr.length; i++) {
            arr[i] …
Run Code Online (Sandbox Code Playgroud)

java arrays performance arraylist

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

以波兰表示法的简单形式合并两个arraylists

我有两个String类型的arraylists,一个操作数和一个操作符

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

它们就像这样填充

operands = { "\"symbol\": \"CHKP%\"", "\"price\": {$gt: 23.72\" };
operators = { "and"};
Run Code Online (Sandbox Code Playgroud)

理想情况下,我会将其转换为一个像这样填充的ArrayList

ArrayList<String> polishNotation = { "and", 
                   "\"symbol\": \"CHKP%\"", 
                   "\"price\": {$gt: 23.72\" };
Run Code Online (Sandbox Code Playgroud)

将波兰表示法硬编码为三个元素很容易,但我有不同数量的运算符和操作数(最多四个操作数和三个运算符).此代码用于将SQL select语句转换为MongoDB.find()语句.任何关于如何以波兰表示法(前缀波兰表示法)实现ArrayList合并的指针都将非常感激.

[编辑2]下面是一个带有3个运算符("like","和","<")和三个操作数('FLIR%',"price","price")的SQL语句的示例,它与MongoDB等效.我认为使用波兰表示法可以帮助我将SQL的查询顺序转换为Mongo排序的查询

在SQL中

SELECT * FROM STOCK WHERE symbol like 'FLIR%' and price > 24.04 and price < 24.39;
Run Code Online (Sandbox Code Playgroud)

在MongoDB中

db.STOCK.find({
    "symbol": "FLIR%",
    "price": {
        "$gt": 24.04,
        "$lt": 24.39
    }
}
Run Code Online (Sandbox Code Playgroud)

java arraylist mongodb polish-notation

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

如何在bundle中传递list <>

我有以下代码:

List<ValueActivity> list = new ArrayList<ValueActivity>();    
list = setList();    
Intent intent = new Intent(NOTIFICATION);    
Bundle bundle = new Bundle();
bundle.put ????("list", list);
intent.putExtra("bundle", bundle);
sendBroadcast(intent);
Run Code Online (Sandbox Code Playgroud)

如何编写第5行以及如何在目标意图中使用getExtra

java android bundle arraylist android-intent

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

ArrayList <Integer>自动将其类型更改为ArrayList <String>

public void run(){
    setFont("Courier-24");
    //Define list as ArrayList<Integer>
    ArrayList<Integer> list = new ArrayList<Integer>();
    readList(list);
}

private void readList(ArrayList list){
    list.add("Hello");
    list.add(2);
    println("list = "+list);
    println("Type of list = "+list.get(0).getClass());
    println("Type of list = "+list.get(1).getClass());
}
Run Code Online (Sandbox Code Playgroud)

结果:

list = [Hello,2]
list的类型= class java.lang.String
list的类型= class java.lang.Integer

这是我的代码和结果.我的问题是,Integer类型的ArrayList如何可以存储String对象?现在列表的类型是什么?这是什么机制?

java types arraylist erasure

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