Мне нужно написать метод, который перебирает ArrayList<String>
pathClientStatic и затем копирует определенные элементы в String[]
.
pathClientStatic - это ArrayList
, содержащий строку метки времени x y
Каждый разделен пробелом "", и всегда будет кортеж, хотя количество кортежей зависит от длины пути. Так что может быть временная метка x y временная метка x y временная метка x y или просто временная метка x y.
Если в ArrayList
имеется более пары кортежей, то есть временная метка xy временная метка xy, я хочу скопировать xyxy последней пары кортежей в массиве, поэтому самый последний xy и предпоследний xy, и в String[]
. На данный момент у меня есть код ниже;
public static String[] returnLastFour()
{
String data = "";
int pathSize = pathClientStatic.size();
if (pathSize > 6)
{
data += pathClientStatic.get(pathClientStatic.size()-5) + " ";
data += pathClientStatic.get(pathClientStatic.size()-4) + " ";
data += pathClientStatic.get(pathClientStatic.size()-2) + " ";
data += pathClientStatic.get(pathClientStatic.size()-1);
}
else
{
data += "nothing";
}
data.trim();
String[] lastFour = data.split(" ");
return lastFour;
}
Хотя по некоторым причинам он не всегда вытаскивает последние две пары х у. Например, когда ArrayList
содержит;
15: 29: 20,841 137,0 137,0 15: 29: 20,841 137,0 137,0 15: 29: 20,841 28,0 45,0
То, чем я хочу закончить String[]
, это;
137,0 137,0 28,0 45,0
Но вместо этого я получаю;
137,0 137,0 137,0 45,0
Я полагаю, что это просто очевидная ошибка, но я так долго смотрел / играл с этим кодом, что теперь просто вижу дымку.
Помощь оценена.