![](/img/trans.png)
[英]Is it more efficient to loop over a list each time or remove elements as I find the one I want in Java?
[英]want to solve this simple one in java for each loop
for (float f: values)
{
int a=(int) (f*255);
builder.append(' ')
.append(a+",");
}
values是浮點類型生成器的數組,每次調用時都是StringBuilder類型,我在values數組中有3個浮點值,我試圖將'a'附加到builder和','在這里我得到的是(255,145,234,),但是我想要的是就像這樣(255,145,234)我想省略最后一個逗號,您的幫助對我很有幫助,謝謝。
嘗試這個:
String delimiter = "";
for (float f: values)
{
builder.append(delimiter)
delimiter = ", ";
int a=(int) (f*255);
builder.append(a);
}
或者,只需在循環退出后從StringBuilder
截斷最后一個字符:
builder.setLength(builder.length() - 1);
保持一個count
,並附加","
直到count
小於數組的長度。
public static void main(String[] args) {
float[] values = { 255, 145, 234 };
StringBuilder builder = new StringBuilder();
int count = 0;
for (float f : values) {
count++;
int a = (int) (f * 255);
builder.append(' ').append(a);
if (count < values.length) {
builder.append(",");
}
}
System.out.println(builder.toString());
}
輸出
65025, 36975, 59670
用這個。 但是這里沒有使用StringBuilder。
ArrayList<String> val = new ArrayList<>();
for(float f: values){
val.add((int)(f*255)+"");
}
String s = String.join(", ", val);
System.out.println(s);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.