好的,所以我只做了一小部分库存.我得到了大部分.我正在尝试将字符串项添加到ArrayList,然后将其添加到JList.但是,我在编译时收到此错误:
C:\Users\Dan\Documents\DanJavaGen\inventory.java:30: cannot find symbol
symbol : constructor JList(java.util.ArrayList<java.lang.String>)
location: class javax.swing.JList
list = new JList(arr);
Run Code Online (Sandbox Code Playgroud)
这可能是我正在犯的一个新手......:/
码:
import java.applet.Applet;
import java.awt.*;
import javax.swing.*;
import javax.swing.JList;
import java.awt.event.*;
import java.util.ArrayList;
import java.io.*;
import java.util.*;
public class inventory extends JApplet implements MouseListener {
public static String newline;
public static JList list;
int gold = 123;
public void init() {
ArrayList<String> arr = new ArrayList<String>();
arr.add("Hatchet");
arr.add("Sword");
arr.add("Shield");
arr.add(gold + " Gold");
System.out.println("You have " + arr.size() + " items in your …Run Code Online (Sandbox Code Playgroud) 我想将一个ArrayList保存到SharedPreferences,所以我需要把它变成一个字符串然后回来,这就是我正在做的事情:
// Save to shared preferences
SharedPreferences sharedPref = this.getPreferences(Activity.MODE_PRIVATE);
SharedPreferences.Editor editor = this.getPreferences(Activity.MODE_PRIVATE).edit();
editor.putString("myAppsArr", myAppsArr.toString());
editor.commit();
Run Code Online (Sandbox Code Playgroud)
我可以检索它String arrayString = sharedPref.getString("yourKey", null);但我不知道如何将arrayString转换回ArrayList.怎么做到呢?
我的数组看起来像:
[item1,item2,item3]
Run Code Online (Sandbox Code Playgroud) 我试图弄清楚这些消息包含哪些信息正在通过OSC流式传输.消息存储在ArrayList中.这是代码:
public void OSCMessageReceived(OSC.NET.OSCMessage message){
string address = message.Address;
ArrayList args = message.Values;
}
Run Code Online (Sandbox Code Playgroud)
如何遍历arrayList args的值以输出其内容?
这是我的代码:ArrayList的ArrayList,它返回一个float:
public ArrayList paredes=new ArrayList();
public void Start()
{
paredes[0] = RetornaEmArrayList(279,275,0,0,90);
paredes[1] = RetornaEmArrayList(62,275,0,0,0);
paredes[2] = RetornaEmArrayList(62,275,62,0,90);
paredes[3] = RetornaEmArrayList(217,275,62,-62,0);
paredes[4] = RetornaEmArrayList(62,275,279,0,90);
paredes[5] = RetornaEmArrayList(41,275,279,0,0);
paredes[6] = RetornaEmArrayList(279,275,320,0,9);
paredes[7] = RetornaEmArrayList(320,275,0,-279,0);
for (int i = 0; i < paredes.Length; i++) {
float a = (float)paredes[i][0];
float b = (float)paredes[i][1];
float c = (float)paredes[i][2];
float d = (float)paredes[i][3];
float e = (float)paredes[i][4];
}
}
ArrayList RetornaEmArrayList(float a,float b,float c, float d, float e)
{
ArrayList arrayList = new ArrayList(); …Run Code Online (Sandbox Code Playgroud) 我有两个java类
import java.util.*;
public class ArrayListTest032 {
public static void main(String[] ar) {
List<String> list = new ArrayList<String>();
list.add("core java");
list.add("php");
list.add("j2ee");
list.add("struts");
list.add("hibernate");
Iterator<String> itr = list.iterator();
while (itr.hasNext()) {
System.out.println(itr.next());
}
list.remove("php");
while (itr.hasNext()) {
System.out.println(itr.next());
}
}
}
Run Code Online (Sandbox Code Playgroud)
当我运行上面的代码时,我得到低于输出.
core java
php
j2ee
struts
hibernate
Exception in thread "main" java.util.ConcurrentModificationException
at java.util.AbstractList$Itr.checkForComodification(AbstractList.java:372)
at java.util.AbstractList$Itr.next(AbstractList.java:343)
at ArrayListTest032.main(ArrayListTest032.java:20)
Run Code Online (Sandbox Code Playgroud)
这是预期的,因为我在迭代时修改列表.但是在下面的java类中,set family执行相同的逻辑.
import java.util.*;
public class HashSetTest021 {
public static void main(String[] ar) {
Set<String> set = new HashSet<String>();
set.add("core java"); …Run Code Online (Sandbox Code Playgroud) 我想减去两个ArrayLists,这样我就可以让孩子不在另一个列表中.
我是这样做的:
removeIDs=(ArrayList<Integer>) storedIDs.clone();
removeIDs.removeAll(downloadedIDs);
downloadIDs=(ArrayList<Integer>) downloadedIDs.clone();
downloadIDs.removeAll(storedIDs);
Run Code Online (Sandbox Code Playgroud)
问题是两个列表都包含5000个孩子,我的androidphone需要大约4秒钟.
有没有快速的方法来做到这一点?是否更快地使用集合?(我在列表中没有重复的值)
我开发了一个Android应用程序
我有一个实现静态方法的类学生
public static Comparator<Student> getCompByName()
Run Code Online (Sandbox Code Playgroud)
返回Student的新比较器对象,通过属性"name"比较2个Students对象.
我现在需要使用我的函数getCompByName()通过'name'对学生ArrayList进行排序来测试它.
这是我的Student课程中的Comparator方法.
public static Comparator<Student> getCompByName()
{
Comparator comp = new Comparator<Student>(){
@Override
public int compare(Student s1, Student s2)
{
return s1.name.compareTo(s2.name);
}
};
return comp;
}
Run Code Online (Sandbox Code Playgroud)
而主要我需要测试的地方
public static void main(String[] args)
{
// TODO code application logic here
//--------Student Class Test-------------------------------------------
ArrayList<Student> students = new ArrayList();
Student s1 = new Student("Mike");
Student s2 = new Student("Hector");
Student s3 = new Student("Reggie");
Student s4 = new Student("zark");
students.add(s1);
students.add(s2);
students.add(s3);
students.add(S4);
//Use getCompByName() …Run Code Online (Sandbox Code Playgroud) 我制作了一个Stack和一个ArrayList来进行研究.实际上我现在想要将我的Stack替换为ArrayList,但是如何将Stack转换为ArrayList?推,弹......怎么样?
谢谢
public static ArrayList<State> search(State finalstate)
{
ArrayList<State> toreturn = new ArrayList<State>();
Stack<State>mystack=new Stack<State>();
mystack.push(initState);
State currState;
currState=initState;
while(!mystack.isEmpty() && !currState.equals(finalstate) )
{
currState=mystack.pop();
toreturn.add(currState);
if(currState.vecinos.containsKey("up"))
{
mystack.push(currState).vecinos.get("up");
}
if(currState.vecinos.containsKey("down"))
{
mystack.push(currState).vecinos.get("down");
}
if(currState.vecinos.containsKey("left"))
{
mystack.push(currState).vecinos.get("left");
}
if(currState.vecinos.containsKey("right"))
{
mystack.push(currState).vecinos.get("right");
}
}
return toreturn;
}
Run Code Online (Sandbox Code Playgroud) 我有一个学生实体.我的想法是在ArrayList中收集多个学生对象,并将该列表中的所有对象保存到数据库中.什么时候使用@ElementCollection注释?它适用于这种情况吗?
学生:
package basic;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
@Entity
public class Student {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int id;
private String name;
public Student() {
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return "Student [id=" + id + ", name=" + name + …Run Code Online (Sandbox Code Playgroud) 我似乎偶然发现了一些ArrayList无法实现的有趣实现。这是一些显示我的意思的代码:
public class Sandbox {
private static final VarHandle VAR_HANDLE_ARRAY_LIST;
static {
try {
Lookup lookupArrayList = MethodHandles.privateLookupIn(ArrayList.class, MethodHandles.lookup());
VAR_HANDLE_ARRAY_LIST = lookupArrayList.findVarHandle(ArrayList.class, "elementData", Object[].class);
} catch (Exception e) {
e.printStackTrace();
throw new RuntimeException();
}
}
public static void main(String[] args) {
List<String> defaultConstructorList = new ArrayList<>();
defaultConstructorList.add("one");
Object[] elementData = (Object[]) VAR_HANDLE_ARRAY_LIST.get(defaultConstructorList);
System.out.println(elementData.length);
List<String> zeroConstructorList = new ArrayList<>(0);
zeroConstructorList.add("one");
elementData = (Object[]) VAR_HANDLE_ARRAY_LIST.get(zeroConstructorList);
System.out.println(elementData.length);
}
}
Run Code Online (Sandbox Code Playgroud)
这个想法是如果您创建ArrayList这样的:
List<String> defaultConstructorList = new ArrayList<>();
defaultConstructorList.add("one");
Run Code Online (Sandbox Code Playgroud)
并查看其将报告的内容elementData( …