Treeset упорядочить элементы в порядке убывания

Я попытался в этой модели в соответствии с моими требованиями. Мне нужно сохранить дату, когда когда-либо создается объект. Я хочу получить все записи (документы) между двумя датами в моем html-файле. Я использовал следующий формат: mm / dd / yyyy

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>

    <script>
//jquery
    $(document).ready(function(){  
    $("#select_date").click(function() { 
    $.ajax({
    type: "post",
    url: "xxx", 
    datatype: "html",
    data: $("#period").serialize(),  
    success: function(data){
    alert(data);
    } ,//success

    }); //event triggered

    });//ajax
    });//jquery  
    </script>

    <title></title>
</head>

<body>
    <form id="period" name='period'>
        from <input id="selecteddate" name="selecteddate1" type="text"> to 
        <input id="select_date" type="button" value="selected">
    </form>
</body>
</html>

в моем файле py (python) я преобразовал его в «iso fomate» следующим образом

date_str1   = request.POST["SelectedDate1"] 
SelectedDate1   = datetime.datetime.strptime(date_str1, '%m/%d/%Y').isoformat()

и сохранен в моей коллекции dbmongo с помощью «SelectedDate» «как поле в моей коллекции

для извлечения данных или документов между двумя датами, которые я использовал в следующем запросе

db.collection.find( "SelectedDate": {'$gte': SelectedDate1,'$lt': SelectedDate2}})
30
задан Gaurav Saini 7 July 2009 в 08:10
поделиться

3 ответа

Как вы думаете, почему этот подход не будет оптимизирован? Обратный порядок Компаратор просто изменит знак вывода фактического Компаратора (или вывода из compareTo на Comparable ], и поэтому я могу представить, что это происходит очень быстро.

Альтернативное предложение: вместо изменения порядка, в котором вы храните элементы, вы можете перебирать их в порядке убывания с помощью DesndingIterator () метод.

41
ответ дан 27 November 2019 в 23:47
поделиться
TreeSet<Integer> treeSetObj = new TreeSet<Integer>(new Comparator<Integer>()
  {
  public int compare(Integer i1,Integer i2)
        {
        return i2.compareTo(i1);
        }
  });

нужно перевернуть результат. Но я думаю, что это просто микрооптимизация ... Вам это действительно нужно?

6
ответ дан 27 November 2019 в 23:47
поделиться

TreeSet :: declndingSet

В Java 6 и более поздних версиях существует метод TreeSet , называемый спускающийсяSet () , производящий Объект интерфейса NavigableSet .

public NavigableSet declndingSet ()

Нисходящий набор поддерживается этим набор, поэтому изменения в наборе отражается в нисходящем множестве, и наоборот. Если какой-либо набор изменен в то время как итерация по любому набору равна в процессе (кроме собственная операция удаления итератора), результаты итерации неопределенный.

  Возвращенный набор имеет порядок, эквивалентный

Collections.reverseOrder (компаратор ()). Выражение s.descendingSet ().нисходящийSet () возвращает вид s по существу эквивалент s.

  Определено:
DesndingSet в интерфейсе NavigableSet 

Возврат:
вид в обратном порядке этого набора
С:
1.6
10
ответ дан 27 November 2019 в 23:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: