我有小代码,我必须添加条件才能获得正确的输出。
如果mimeList中的元素为Last,则转到 else 部分。 或 if 。
此ArrayList中总有1个元素。
(如果它只有一个元素,则表示它是最后一个元素。)
for (int i = 0; i < mimeList.size(); i++) {
StringBuffer sb = new StringBuffer();
if () {
queryString = sb.append(queryString).append(key)
.append("=").append(mimeList.get(i)).append(" or ").toString();
}else{
queryString = sb.append(queryString).append(key)
.append("=").append(mimeList.get(i)).toString();
}
}
答案 0 :(得分:10)
关于问题的标题:
获取Java中ArrayList中的第一个和最后一个元素
应该很简单:
mimeList.get(0); // To get first
mimeList.get(mimeList.size()-1); //to get last
关于你的if
条件:
if(!(i==0 || i==mimeList.size()-1))
正如你所说:
如果mimeList中的元素是第一个或最后一个,它将进入else 在条件
的情况下其他条件
我在if条件下使用了!
。
以下是非常酷的:
if((i>0) && (i!=mimeList.size()-1))
答案 1 :(得分:5)
如果没有大量检查,更简单的方法是使用以空为开头的分隔符。
StringBuilder sb = new StringBuilder();
String sep = "";
for (String s : mimeList) {
sb.append(sep + key + "=" + s);
sep = " or ";
}
答案 2 :(得分:2)
这样的事情应该有效:if ((i > 0) && (i < mimeList.size() - 1))
。由于在Java集合中基于0,因此第一个元素将位于0
位置,而最后一个元素将位于Collection.Size - 1
,因为访问Collection.Size
位置将导致超出范围的异常。
答案 3 :(得分:2)
从我的问题中我可以收集到的内容,您需要以下内容:
ArrayList<Foo> foos = fooGenerator.generateFoos();
for(int i = 0; i < foos.size(); i++) {
if(i != (foos.size() - 1)) {
System.out.println("Front elements of ArrayList");
}
else {
System.out.println("Last element of ArrayList!");
}
}
答案 4 :(得分:2)
ArrayList<int> foos = ArrayList<int>();
第一个是
foos.get(0);
最后一个是
foos.get(foo.size - 1);
答案 5 :(得分:1)
i
Integer
为ArrayList.
if ((i > 0) && (i < mimeList.size() - 1))
答案 6 :(得分:0)
尝试类似
的内容if(i == 0 || i == mimeList.size() - 1)
希望有所帮助!
答案 7 :(得分:0)
您的代码中已经有了答案:
从 first 循环到数组中的 last 元素。
首先:索引为0, 最后:有索引(大小 - 1)
这会导致以下情况:
if ((i > 0) && (i < mimeList.size() - 1))