标签: arraylist

HashMap(key:String,value:ArrayList)返回一个Object而不是ArrayList?

我将数据存储在HashMap中(key:String,value:ArrayList).我遇到问题的部分声明一个新的ArrayList"current",在HashMap中搜索String"dictCode",如果找到则将current设置为返回值ArrayList.

ArrayList current = new ArrayList();      
if(dictMap.containsKey(dictCode)) {
    current = dictMap.get(dictCode);   
}
Run Code Online (Sandbox Code Playgroud)

"current = ..."行返回编译器错误:

Error: incompatible types
found   : java.lang.Object
required: java.util.ArrayList
Run Code Online (Sandbox Code Playgroud)

我不明白这个... HashMap是否返回一个Object而不是我存储在其中的ArrayList作为值?如何将此对象转换为ArrayList?

谢谢.

java arraylist

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

Java有没有高效的2D ArrayList类?

我知道有可能创建一个2D ArrayList ArrayList<ArrayList<E>>,但这很麻烦,而且在添加和检索对象时是一个真正的铸造噩梦.

是否有任何2D ArrayList类可以更有效地执行此类操作?我正在从头开始编写一个真正的2D ArrayList类,我想知道是否有其他人以有效的方式完成了这类事情.

java arrays arraylist multidimensional-array

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

对String []数组的数组列表进行排序

我正在阅读一个.csv类似excel中的电子表格的文件.有一定数量的列,由文件确定,我使用该.split(",")方法将每一行读入字符串数组.然后我把它放到一个数组列表中,这样它就可以保存所有的字符串数组而不给它一个特定的大小.但是,当我使用时对数组列表进行排序时Collections.sort(),程序会中断.问题是什么?这是我要排序的代码:

Collections.sort(stringList, new Comparator < String[] > () {
    public int compare(String[] strings, String[] otherStrings) {
        return -1 * (strings[sortNum].compareTo(otherStrings[sortNum]));
    }
});
Run Code Online (Sandbox Code Playgroud)

java sorting arraylist comparator

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

Java:迭代2个列表的最佳/优雅方式

假设我有一个List<SomeObject> a.
现在还假设我有另一个List<SomeProcessor> b.
每一个SomeProcessor使用a它的处理.

除了:

int idx = 0;   
for(SomeProcessor o:b){  
    o2 = a.get(idx);  
    o.doSomething(o2);  
    idx++;   
}
Run Code Online (Sandbox Code Playgroud)

有更优雅的方式来处理这个问题吗?

java iteration list arraylist

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

JList重复选择

我正在尝试使用Swing,并决定专注于将JList与Objects的arraylist结合使用.

我想创建一个显示空白JList的程序,当按下按钮时,它会显示arraylist的内容,并允许单个选择打印出所选的内容.

我当前的代码完成了上述所有操作,但是当我单击JList上的单个条目时,它会将其打印两次.我觉得这是一个简单的错误,很容易纠正,但我一直在阅读它,我的大脑已停止合作.

任何帮助将不胜感激.提前致谢 :)

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.ArrayList;
import javax.swing.event.*;


public class textarea {

    ArrayList <Pet> petList = new ArrayList <Pet> ();
    DefaultListModel model = new DefaultListModel();
    JList list = new JList();

    public static void main (String [] args){

        textarea gui = new textarea();
        gui.go();
    }

    public void go(){

        petList.add(new Pet("Lucy","Dog",5));
        petList.add(new Pet("Geoff","Cat",2));
        petList.add(new Pet("Hammond","Hamster",1));

        model = new DefaultListModel();
        for(Pet p:petList){
            model.addElement(p.toString());
        }

        JFrame frame = new JFrame();
        JPanel panel = new JPanel();
        JButton button …
Run Code Online (Sandbox Code Playgroud)

java swing arraylist jlist

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

基于字符串数组的顺序重新排序ArrayList - Java

我有一个arraylist和一个String数组.String数组包含ID,Array List包含与这些ID相关的ID和信息.此ArrayList处于不合需要的顺序.我有一个ID数组的字符串数组,我希望它们在ArrayList中.

半伪码示例:

ArrayList<MyObject> myList = new ArrayList<MyObject>();
for (every username)
{
    myList.add(new MyObject(id, username, content, country);
}

String[] ids = new String[myList.size()];
...Ids are added and sorted here...
Run Code Online (Sandbox Code Playgroud)

我现在有一个ID列表,按正确的顺序排列."myList"中的每个Id对应于"ids"字符串数组中的Id.我想根据"ids"字符串数组中相应id的顺序对"myList"进行排序.

如何以这种方式重新排序我的ArrayList?

Eg. if in Array list I have:

1. 123, Bob, test, USA
2. 1234, Vladimir, test, USA
3. 12345, Yoseph, test, USA

and in the String[] I have:

1. 1234
2. 123
3.12345
Run Code Online (Sandbox Code Playgroud)

如何根据字符串数组中的Ids重新排序ArrayList,从而产生:

1. 1234, Vladimir, test, USA
2. 123, Bob, test, USA
3. 12345, Yoseph, test, USA
Run Code Online (Sandbox Code Playgroud)

java arrays arraylist multidimensional-array

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

ArrayList中的toArray(T [])方法

当我通过ArrayList实现时,我在toArray(T [])方法中发现了一段奇怪的代码.

 public <T> T[] toArray(T[] a) {
        if (a.length < size)
            // Make a new array of a's runtime type, but my contents:
            return (T[]) Arrays.copyOf(elementData, size, a.getClass());
        System.arraycopy(elementData, 0, a, 0, size);
        if (a.length > size)
            a[size] = null;
        return a;
    }
Run Code Online (Sandbox Code Playgroud)

这部分是,

 if (a.length > size)
    a[size] = null;
Run Code Online (Sandbox Code Playgroud)

为什么只有数组中此索引处的元素设置为null?一旦数组填充了列表的内容,其余索引处的元素应该设置为null,对吧?或者我在这里遗漏了什么?

java arraylist

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

隐式和显式ArrayList大小声明之间的区别?

以下声明之间有什么区别:

List list1 = new ArrayList();

List list2 = new ArrayList(10);
Run Code Online (Sandbox Code Playgroud)

默认情况下将其分配为10.但是有什么区别吗?我可以添加一个11要素来list2通过list2.add("something")?

java collections arraylist

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

Android在API16中对ArrayLit &lt;class&gt;进行排序?

我正在做作业,需要支持API16。

我的看法是一个自定义ArrayListAdapter与

ArrayList<someclass>
Run Code Online (Sandbox Code Playgroud)

问题是我想对用户放入列表中的数据进行排序。

items.sort(new Comparator<someclass>() {
    @Override
    public int compare(someclass item1, someclass item2) {
        return item1.Name.compareTo(item2.Name);
    }
});
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试Android Studio时,我需要API 24。

如何在API 16中对列表进行排序?

java sorting android arraylist

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

从Arraylist <String>中获取三次出现的字符串

我有一个ArrayList包含重复项和三次出现的元素的值,我想收集那些特别发生三次的值,ArrayList如同

Arraylist<String> strings;   //contains all strings that are duplicates and that occur thrice
Run Code Online (Sandbox Code Playgroud)

在这里,我想只获得在另一个数组列表中出现三次的字符串.

Arraylist<String> thrice;    //contains only elements that occur three times.
Run Code Online (Sandbox Code Playgroud)

目前,我有一个处理重复的解决方案,但我不能扩展这只是为了获得三次出现的字符串,这请帮助我找出答案.

java list arraylist

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