JAVA实现Lits元素反转
- 这种的翻转
import com.google.common.collect.Lists;
import org.apache.commons.collections4.Bag;
import org.apache.commons.collections4.bag.HashBag;
import java.util.*;
import java.util.stream.Collectors;
public class Test {
public static void main(String[] args) {
List<Integer> intList = Arrays.asList(0, 0, 0, 1, 1, 2, 3, 3);
List<Integer> resultList = Lists.newArrayListWithCapacity(intList.size());
List<Integer> uniqueList = new ArrayList<>();
Bag intListBag = new HashBag(intList);
int iniNum = 0;
for (int i = intList.size() - 1; i >= 0; i--) {
Bag bag = new HashBag(uniqueList);
if (bag.getCount(intList.get(i)) < 1) {
int count = intListBag.getCount(intList.get(iniNum));
for (int m = 0; m < count; m++) {
resultList.add(intList.get(i));
}
uniqueList.add(intList.get(i));
iniNum= iniNum + count;
}
}
System.out.println("========uniqueList=========");
System.out.println(uniqueList);
System.out.println("========resultList=========");
System.out.println(resultList);
}
}
- 这是另一种
import java.util.List;
import com.alibaba.fastjson.JSONArray;
public class Test {
public static void main(String[] args) {
String arryStr="[{\"x\":3,\"y\":2},{\"x\":2,\"y\":2},{\"x\":2,\"y\":3},{\"x\":1,\"y\":3},{\"x\":2,\"y\":6},{\"x\":1,\"y\":2}]";
List<Coordinates> intList = JSONArray.parseArray(arryStr, Coordinates.class);
System.out.println("========intList=========");
System.out.println(intList);
int j=0;
System.out.println("========intList.size()/2========="+intList.size()/2);
for(int i = intList.size()-1;i>= (intList.size()/2);i--){
Coordinates t = new Coordinates();
t.setX(intList.get(i).getX());
t.setY(intList.get(i).getY());
intList.get(i).setX(intList.get(j).getX());
intList.get(j).setX(t.getX());
j++;
}
System.out.println("========resultList=========");
System.out.println(intList);
}
}
import lombok.Data;
@Data
public class Coordinates {
private Integer x;
private Integer y;
}