读书人

java兑现集合合并

发布时间: 2012-12-26 14:39:29 作者: rapoo

java实现集合合并

public class StarEnds  {       LinkedList<StarEnd> qeuqeu = new LinkedList<StarEnd>();       public StarEnds add(StarEnd other) {           Iterator<StarEnd> it = qeuqeu.iterator();           while(it.hasNext()){               StarEnd temp = it.next();              if(StarEnd.isMix(temp, other)){                   other.inputOther(temp);                  it.remove();               }           }           qeuqeu.add(other);           return this;       }          public Iterator<StarEnd> iterator(){           return qeuqeu.iterator();       }                 public static void main(String[] args) {           StarEnds ses = new StarEnds();           int[] arr = {1,2,4,5};           for(int i : arr){               StarEnd temp = new StarEnd();               temp.star=i;               temp.end =i+1;               ses.add(temp);           }           System.out.println(ses.qeuqeu);      }     }    class StarEnd{       int star=0;        int end=0;       @Override      public String toString() {           return "{"+star+":"+end+"}";       }       public void inputOther(StarEnd other){               List<Integer> l = Arrays.asList(star,end,other.star,other.end);               star =  Collections.min(l);               end =   Collections.max(l);               other.star = 0;               other.end = 0;              }       public static boolean isMix(StarEnd one, StarEnd other) {           if(one==null||other==null){               return false;           }           return one.inStarEnd(other.star)||one.inStarEnd(other.end) ;       }       public boolean inStarEnd(int in){           return (in >= star && in<= end);       }   }  

读书人网 >编程

热点推荐