ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/owl/trunk/proteinstructure/NodeSet.java
Revision: 230
Committed: Mon Jul 9 15:35:01 2007 UTC (17 years, 2 months ago) by stehr
File size: 929 byte(s)
Log Message:
added class NodeSet
Line User Rev File contents
1 stehr 230 package proteinstructure;
2    
3     import java.util.TreeSet;
4     import java.util.Vector;
5    
6     public class NodeSet extends TreeSet<Integer> {
7    
8     private static final long serialVersionUID = 1L;
9    
10     /**
11     * Returns the set as a vector of intervals of consecutive elements.
12     * @return
13     */
14     public Vector<Interval> getIntervals() {
15     Vector<Interval> intervals = new Vector<Interval>();
16     if(this.size() == 0) return intervals;
17     // assuming that this set is sorted, otherwise sort it
18     int last = this.first(); // previous element
19     int start = last; // start if current interval
20     for(int i:this) {
21     if(i > last+1) {
22     // output interval and start new one
23     intervals.add(new Interval(start, last));
24     start = i;
25     last = i;
26     } else
27     if(i == last) {
28     // can that even happen?
29     } else
30     if(i == last+1) {
31     last = i;
32     }
33     }
34     // output last interval
35     intervals.add(new Interval(start, last));
36     return intervals;
37     }
38    
39     }