我的课程中有两个arraylists,我想将它发送到我的JSP,然后在select标签中迭代arraylist中的元素.
这是我的班级:
package accessData;
import java.util.ArrayList;
public class ConnectingDatabase
{
ArrayList<String> food=new ArrayList<String>();
food.add("mango");
food.add("apple");
food.add("grapes");
ArrayList<String> food_Code=new ArrayList<String>();
food.add("man");
food.add("app");
food.add("gra");
}
Run Code Online (Sandbox Code Playgroud)
我想将food_Code作为select标签中的选项和food作为JSP中Select元件中的值进行迭代; 我的JSP是:
<select id="food" name="fooditems">
// Don't know how to iterate
</select>
Run Code Online (Sandbox Code Playgroud)
任何一段代码都非常受欢迎.提前致谢 :)
在JavaScript中,我可以构建一个字符串值数组,如:
var stuff = new Array('foo','bar','baz','boz','gaz','goz');
Run Code Online (Sandbox Code Playgroud)
甚至更容易
var stuff = 'foo,bar,baz,boz,gaz,goz'.split(',');
Run Code Online (Sandbox Code Playgroud)
在Java中,它似乎过于冗长和复杂......是否有比这更简单的方法?
ArrayList<String> stuff = new ArrayList<String>();
stuff.add("foo");
stuff.add("bar");
stuff.add("baz");
stuff.add("boz");
stuff.add("gaz");
stuff.add("goz");
Run Code Online (Sandbox Code Playgroud)
在我的实际场景中,我有30-40个项目进入ArrayList ...我认为必须有一个更简单的方法!我忽视的显而易见的一点是什么?
我有一些类(Car,Motorcycle,Train...等),从延伸class Vehicle.从另一个类我需要创建一个ArrayList类,只能访问那些包含的类ArrayList.
这个概念与此类似,但显然它不起作用;
ArrayList<Class> vehicleType=new ArrayList<Class>();
vehicleType.add(Class.forName("train"));
Run Code Online (Sandbox Code Playgroud)
我该如何解决?谢谢
我想在java中动态地执行此操作.我知道如何在单维数组中插入值.我在二维数组中有点困惑.
static final String shades[][] = {
// Shades of grey
{
"lightgrey",
"dimgray",
"sgi gray 92",
},
// Shades of blue
{
"dodgerblue 2",
"steelblue 2",
"powderblue",
},
// Shades of yellow
{
"yellow 1",
"gold 1",
"darkgoldenrod 1",
},
// Shades of red
{
"indianred 1",
"firebrick 1",
"maroon",
}
};
Run Code Online (Sandbox Code Playgroud) 我在我的代码中使用了Arrays.asList().contains()方法,如上面的答案所示:如何测试数组是否包含某个值?,所以我将在代码中使用Arrays.asList().
但是,编译器拒绝以下代码.是因为我的素数数组使用原语而不是引用类型?由于自动装箱,我不这么认为,但我只想查一下.
import java.math.*;
import java.util.ArrayList;
import java.util.Arrays;
public class .... {
public static void main(String[] args) {
int[] primes = formPrimes(15);
ArrayList<Integer> primes1 = new ArrayList<Integer>(Arrays.asList(primes));
// Rest of code...
}
public static int[] formPrimes(int n) {
// Code that returns an array of integers
}
}
Run Code Online (Sandbox Code Playgroud)
我收到一个错误,找不到符号错误.
symbol:构造函数ArrayList(java.util.List)
location:类java.util.ArrayList ArrayList primes1 = new ArrayList(Arrays.asList(primes));
基本上,我有一个函数返回一个整数数组,我想将它转换为数组列表,我使用ArrayList构造函数遇到了麻烦.
我试图在我的应用程序中的多个活动之间传递一个对象的ArrayList.是否可以使用setData()方法使用Intent执行此操作?
我正在开发一个Android游戏,我只是注意到,因为onTouchEvent在UI线程上运行,并且更新/渲染方法是从一个单独的线程运行的,所以它们都会更新ArrayList包含实体的内容.显然,如果他们碰巧同时修改了列表,他们会发生冲突.
我读到Vector该类ArrayList与Vector同步的唯一区别完全相同,因此它们不会发生冲突.真的吗?如果是的话,它是否有任何性能问题或我应该关注的事情?我之前从未上过Vector课.
编辑:我实际上的意思是改变
ArrayList<Obj> list = new ArrayList<Obj>();
至
Vector<Obj> list = new Vector<Obj>()
但正如答案所说,Vector不建议使用.选定的答案解决了我的问题.
我有104k字符串值,其中89k是唯一的.我想检查一下该列表中是否存在字符串.
这是我的类及其保存所有这些记录的方法.
public class TestClass {
private static TestClass singletonObj = null;
private List<String> stringList= null;
public static synchronized TestClass getInstance() {
if(singletonObj == null) {
singletonObj = new TestClass();
}
return singletonObj;
}
public boolean isValidString(String token) {
if(stringList == null) {
init();
}
if(stringList != null && token != null && !token.isEmpty())
return stringList.contains(token.toLowerCase());
return false;
}
private init() {
stringList = new ArrayList<String>();
// put all 104k values in this data structure.
}
}
Run Code Online (Sandbox Code Playgroud)
我的应用程序尝试同时使用此isValidString()方法,每秒约20个请求.这工作正常但是当我尝试将数据结构更改为时 …
我正在构建一个应用程序,允许用户连接到他们的本地WiFi网络而不会离开.但是,每当我在列表中选择一个项目时,就会出现错误的网络ID,并且它连接到错误的网络.我注意到了:
这是我的代码如下:
//from `onCreate` method
Button buttonScan = (Button) findViewById(R.id.buttonScan);
WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
ListView lv = (ListView) findViewById(R.id.list);
lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
connectToWifi(arg2);
}
});
lv.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
return true;
}
});
if (!wifi.isWifiEnabled()) {
Toast.makeText(getApplicationContext(), "Enabling Wifi", Toast.LENGTH_LONG).show();
wifi.setWifiEnabled(true);
}
SimpleAdapter adapter =
new SimpleAdapter(
NetworkCalibration.this,
arraylist,
R.layout.wifi_list_row,
new String[] { …Run Code Online (Sandbox Code Playgroud) 我有两个需要比较和操作的大型(1000多个对象)ArrayList。我本质上需要从ArrayList A中获取一个值,在ArrayList B中查找匹配的对象,然后从B中操作该对象。我需要在A的所有对象中执行此操作。我需要在应用程序中经常执行此操作。订单未知,大小会有所不同。
(pseudocode)
ArrayList<myObject> A
ArrayList<myObject> B
Run Code Online (Sandbox Code Playgroud)
对于A中的每个实体,我都可以遍历B中的每个单个项目,寻找与A中的实体匹配的项目。这似乎效率很低。
(pseudocode)
for (each object in A){loop through all of B and find it}
Run Code Online (Sandbox Code Playgroud)
值得将B转换为HashMap(使用我正在比较的特定值作为键,将对象作为值),然后以这种方式搜索B,然后在完成处理后将该临时HashMap转换回ArrayList。 ?
(pseudocode)
convert B to HashMap<myObject.myValue,myObject> C
for (each object in A){look up the value in C}
convert C back to an ArrayList
Run Code Online (Sandbox Code Playgroud)
这是一个好主意吗?还是这种过早/不必要的优化?谢谢。
(背景:数据从服务中以ArrayList的形式从我那里得到-前端需要一个ArrayList用于视图层。我试图使中间层的处理效率更高-但是入口和出口对象必须是ArrayList(或某些对象)其他清单))