java.util.TreeSet#higher ( )源码实例Demo

下面列出了java.util.TreeSet#higher ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: openjdk-jdk9   文件: TreeSetTest.java
/**
 * higher returns next element
 */
public void testHigher() {
    TreeSet q = set5();
    Object e1 = q.higher(three);
    assertEquals(four, e1);

    Object e2 = q.higher(zero);
    assertEquals(one, e2);

    Object e3 = q.higher(five);
    assertNull(e3);

    Object e4 = q.higher(six);
    assertNull(e4);
}
 
源代码2 项目: javaGeom   文件: CirculinearCurves2D.java
/**
 * Returns either the next value, or the first value of the tree if the
 * given value is the last one of the tree.
 */
private static double nextValue(TreeSet<Double> tree, double value) {
	if (tree.higher(value) == null)
		return tree.first();
	else
		return tree.higher(value);
}
 
源代码3 项目: succinct   文件: RegExExecutor.java
/**
 * Computes the regular expression wildcard using the results from two regex sub-expressions.
 *
 * @param left     A set of (offset, length) pairs (END_SORTED).
 * @param right    A set of (offset, length) pairs (FRONT_SORTED).
 * @param sortType Sorting type for the returned set.
 * @return A set of (offset, length) pairs.
 */
protected TreeSet<RegExMatch> regexWildcard(TreeSet<RegExMatch> left, TreeSet<RegExMatch> right,
  SortType sortType) {

  TreeSet<RegExMatch> wildcardRes = allocateSet(sortType);

  Iterator<RegExMatch> leftIterator = left.iterator();
  RegExMatch lowerBoundEntry = new RegExMatch(0, 0);
  while (leftIterator.hasNext()) {
    RegExMatch leftEntry = leftIterator.next();
    lowerBoundEntry.setOffset(leftEntry.end());
    RegExMatch rightEntry = right.ceiling(lowerBoundEntry);

    if (rightEntry == null)
      break;

    // Greedy match
    RegExMatch lastMatch = null;
    while (rightEntry != null && succinctFile
      .sameRecord(leftEntry.getOffset(), rightEntry.getOffset())) {
      lastMatch = rightEntry;
      rightEntry = right.higher(rightEntry);
    }

    if (lastMatch != null) {
      long distance = lastMatch.getOffset() - leftEntry.getOffset();
      wildcardRes
        .add(new RegExMatch(leftEntry.getOffset(), (int) distance + lastMatch.getLength()));
      while (leftIterator.hasNext() && leftEntry.getOffset() < lastMatch.getOffset()) {
        leftEntry = leftIterator.next();
      }
    }
  }

  return wildcardRes;
}
 
源代码4 项目: j2objc   文件: TreeSetTest.java
/**
 * higher returns next element
 */
public void testHigher() {
    TreeSet q = set5();
    Object e1 = q.higher(three);
    assertEquals(four, e1);

    Object e2 = q.higher(zero);
    assertEquals(one, e2);

    Object e3 = q.higher(five);
    assertNull(e3);

    Object e4 = q.higher(six);
    assertNull(e4);
}
 
源代码5 项目: bestconf   文件: ConfigSampler.java
private static ArrayList<Attribute> scaleDownNeighbordists(Instances previousSet, Instance center){
	ArrayList<Attribute> localAtts = new ArrayList<Attribute>();
	int attNum = center.numAttributes();
	
	int pos = -1;
	if(previousSet.attribute(PerformanceAttName)!=null)
		pos = previousSet.attribute(PerformanceAttName).index();
	
	//traverse each dimension
	Enumeration<Instance> enu;
	double[] minDists = new double[2];
	double val;
	for(int i=0;i<attNum;i++){
		if(i==pos)
			continue;
		
		enu = previousSet.enumerateInstances();
		minDists[0] = 1-Double.MAX_VALUE;
		minDists[1] = Double.MAX_VALUE;
		
		while(enu.hasMoreElements()){
			Instance ins = enu.nextElement();
			if(!ins.equals(center)){
				val = ins.value(i)-center.value(i);
				if(val<0)
					minDists[0] = Math.max((double)((int)((ins.value(i)-center.value(i))*1000))/1000.0, minDists[0]);
				else
					minDists[1] = Math.min((double)((int)((ins.value(i)-center.value(i))*1000))/1000.0, minDists[1]);
			}
		}
		
		//now we set the range
		Properties p1 = new Properties();
		double upper = center.value(i)+minDists[1], lower=center.value(i)+minDists[0];
		
		TreeSet<Double> detourSet = new TreeSet<Double>();
		detourSet.add(upper);
		detourSet.add(lower);
		detourSet.add(previousSet.attribute(i).getUpperNumericBound());
		detourSet.add(previousSet.attribute(i).getLowerNumericBound());
		switch(detourSet.size()){
		case 1:
			upper=lower=detourSet.first();
			break;
		case 2:
			upper = detourSet.last();
			lower = detourSet.first();
			break;
		case 3:
			upper=lower=detourSet.higher(detourSet.first());
			break;
		default://case 4:
			upper=detourSet.lower(detourSet.last());
			lower=detourSet.higher(detourSet.first());
			break;
		}
		
		p1.setProperty("range", "["+String.valueOf(lower)+","+String.valueOf(upper)+"]");
		ProtectedProperties prop1 = new ProtectedProperties(p1);
		
		localAtts.add(new Attribute(previousSet.attribute(i).name(), prop1));
	}
	
	return localAtts;
}
 
源代码6 项目: bestconf   文件: ConfigSampler.java
private static ArrayList<Attribute> scaleDownMindists(Instances previousSet, Instance center){
	ArrayList<Attribute> localAtts = new ArrayList<Attribute>();
	int attNum = center.numAttributes();
	
	int pos = previousSet.attribute(PerformanceAttName).index();
	
	//traverse each dimension
	Enumeration<Instance> enu;
	double minDis;
	for(int i=0;i<attNum;i++){
		if(i==pos)
			continue;
		
		enu = previousSet.enumerateInstances();
		minDis = Double.MAX_VALUE;
		
		while(enu.hasMoreElements()){
			Instance ins = enu.nextElement();
			if(!ins.equals(center))
				minDis = Math.min((double)((int)(Math.abs(ins.value(i)-center.value(i))*1000))/1000.0, minDis);
		}
		
		//now we set the range
		Properties p1 = new Properties();
		double upper = center.value(i)+minDis, lower=center.value(i)-minDis;
		
		TreeSet<Double> detourSet = new TreeSet<Double>();
		detourSet.add(upper);
		detourSet.add(lower);
		detourSet.add(previousSet.attribute(i).getUpperNumericBound());
		detourSet.add(previousSet.attribute(i).getLowerNumericBound());
		switch(detourSet.size()){
		case 1:
			upper=lower=detourSet.first();
			break;
		case 2:
			upper = detourSet.last();
			lower = detourSet.first();
			break;
		case 3:
			upper=lower=detourSet.higher(detourSet.first());
			break;
		default://case 4:
			upper=detourSet.lower(detourSet.last());
			lower=detourSet.higher(detourSet.first());
			break;
		}
		
		p1.setProperty("range", "["+String.valueOf(lower)+","+String.valueOf(upper)+"]");
		ProtectedProperties prop1 = new ProtectedProperties(p1);
		
		localAtts.add(new Attribute(previousSet.attribute(i).name(), prop1));
	}
	
	return localAtts;
}
 
源代码7 项目: bestconf   文件: BestConf.java
public static ArrayList<Attribute> scaleDownDetour(Instances previousSet, Instance center){
	ArrayList<Attribute> localAtts = new ArrayList<Attribute>();
	int attNum = center.numAttributes();
	
	int pos = previousSet.attribute(PerformanceAttName).index();
	
	//traverse each dimension
	Enumeration<Instance> enu;
	double minDis;
	for(int i=0;i<attNum;i++){
		if(i==pos)
			continue;
		
		enu = previousSet.enumerateInstances();
		minDis = Double.MAX_VALUE;
		
		while(enu.hasMoreElements()){
			Instance ins = enu.nextElement();
			if(!ins.equals(center))
				minDis = Math.min((double)((int)(Math.abs(ins.value(i)-center.value(i))*100))/100.0, minDis);
		}
		
		//now we set the range
		Properties p1 = new Properties();
		double upper = center.value(i)+minDis, lower=center.value(i)-minDis;
		
		TreeSet<Double> detourSet = new TreeSet<Double>();
		detourSet.add(upper);
		detourSet.add(lower);
		detourSet.add(previousSet.attribute(i).getUpperNumericBound());
		detourSet.add(previousSet.attribute(i).getLowerNumericBound());
		switch(detourSet.size()){
		case 1:
			upper=lower=detourSet.first();
			break;
		case 2:
			upper = detourSet.last();
			lower = detourSet.first();
			break;
		case 3:
			upper=lower=detourSet.higher(detourSet.first());
			break;
		default://case 4:
			upper=detourSet.lower(detourSet.last());
			lower=detourSet.higher(detourSet.first());
			break;
		}
		
		p1.setProperty("range", "["+String.valueOf(lower)+","+String.valueOf(upper)+"]");
		ProtectedProperties prop1 = new ProtectedProperties(p1);
		
		localAtts.add(new Attribute(previousSet.attribute(i).name(), prop1));
	}
	
	return localAtts;
}
 
源代码8 项目: btrbck   文件: SyncService.java
/**
 * Calculate the next available snapshot after the given snapshot, or null
 * if none is available
 */
Integer calculateNextSnapshotNr(Snapshot snapshot,
        TreeSet<Integer> availableCloneSources) {
    return availableCloneSources.higher(snapshot.nr);
}