package ellip.dt.missionplanning.taskMission;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.stream.Collectors;
public class test33 {
public static void main(String[] args) {
// List<ArrayList<Integer>> arcList=new ArrayList<>();
// ArrayList<Integer> arc0 = new ArrayList<>();
// Collections.addAll(arc0,1,3);
// ArrayList<Integer> arc1 = new ArrayList<>();
// Collections.addAll(arc1,2,5);
// ArrayList<Integer> arc2 = new ArrayList<>();
// Collections.addAll(arc2,4,9);
// ArrayList<Integer> arc3 = new ArrayList<>();
// Collections.addAll(arc3,10,12);
// arcList.add(arc0);
// arcList.add(arc1);
// arcList.add(arc2);
// arcList.add(arc3);
List<ArrayList<Integer>> arcList=new ArrayList<>();
ArrayList<Integer> arc0 = new ArrayList<>();
Collections.addAll(arc0,1,3);
ArrayList<Integer> arc1 = new ArrayList<>();
Collections.addAll(arc1,2,5);
ArrayList<Integer> arc2 = new ArrayList<>();
Collections.addAll(arc2,4,6);
ArrayList<Integer> arc3 = new ArrayList<>();
Collections.addAll(arc3,7,8);
ArrayList<Integer> arc4 = new ArrayList<>();
Collections.addAll(arc4,9,10);
arcList.add(arc0);
arcList.add(arc1);
arcList.add(arc2);
arcList.add(arc3);
arcList.add(arc4);
System.out.println(arcList);
List<ArrayList<Integer>> newarcList=new ArrayList<>();
int count=0;//重叠的个数
for (int i = 0; i < arcList.size()-1; i++) {
ArrayList<Integer> before=arcList.get(i);
ArrayList<Integer> behind=arcList.get(i+1);
if(before.get(1)>behind.get(0)){
count=count+1;
if((before.get(1)-before.get(0))>(behind.get(1)-behind.get(0))){
newarcList.add(arcList.get(i));
}
else {
if(newarcList.contains(arcList.get(i))){
newarcList.remove(arcList.get(i));
newarcList.add(arcList.get(i+1));
}
else {
newarcList.add(arcList.get(i+1));
}
}
}
else {
if(i== arcList.size()-2){
newarcList.add(arcList.get(i+1));//如果不重叠,且i是最后一个弧段,还应把列表最后一个弧段加入
}
else {
newarcList.add(arcList.get(i+1));
}
}
}
List<ArrayList<Integer>> list1 = newarcList.stream().distinct().collect(Collectors.toList());
//列表去重
System.out.println(newarcList);
System.out.println(list1);
System.out.println(count);
}
}
弧段去重的
最新推荐文章于 2024-07-27 13:31:57 发布