我将数据存储在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?
谢谢.
我知道有可能创建一个2D ArrayList ArrayList<ArrayList<E>>,但这很麻烦,而且在添加和检索对象时是一个真正的铸造噩梦.
是否有任何2D ArrayList类可以更有效地执行此类操作?我正在从头开始编写一个真正的2D ArrayList类,我想知道是否有其他人以有效的方式完成了这类事情.
我正在阅读一个.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) 假设我有一个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)
有更优雅的方式来处理这个问题吗?
我正在尝试使用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) 我有一个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) 当我通过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,对吧?或者我在这里遗漏了什么?
以下声明之间有什么区别:
List list1 = new ArrayList();
List list2 = new ArrayList(10);
Run Code Online (Sandbox Code Playgroud)
默认情况下将其分配为10.但是有什么区别吗?我可以添加一个11要素来list2通过list2.add("something")?
我正在做作业,需要支持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中对列表进行排序?
我有一个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)
目前,我有一个处理重复的解决方案,但我不能扩展这只是为了获得三次出现的字符串,这请帮助我找出答案.