コード例 #1
0
  private int compare(DefaultMutableTreeNode node1, DefaultMutableTreeNode node2) {
    SearchTOCItem item1, item2;
    double confidence1, confidence2;
    int hits1, hits2;

    item1 = (SearchTOCItem) node1.getUserObject();
    confidence1 = item1.getConfidence();
    hits1 = item1.hitCount();

    item2 = (SearchTOCItem) node2.getUserObject();
    confidence2 = item2.getConfidence();
    hits2 = item2.hitCount();

    // confidence is a penality. The lower the better
    if (confidence1 > confidence2) {
      // node1 is less than node2
      return -1;
    } else if (confidence1 < confidence2) {
      // node1 is greater than node2
      return 1;
    } else {
      // confidences are the same check the hits
      if (hits1 < hits2) {
        // node1 is less than node2
        return -1;
      } else if (hits1 > hits2) {
        // node2 is greater than node2
        return 1;
      }
    }
    // nodes1 and nodes2 are equivalent
    return 0;
  }