Я предпочитаю этот процесс:
public class SortUtil
{
public static <T> List<T> sort(List<T> list, String sortByProperty)
{
Collections.sort(list, new BeanComparator(sortByProperty));
return list;
}
}
List<T> sortedList = SortUtil<T>.sort(unsortedList, "startDate");
Если список объектов имеет свойство, называемое startDate
, вы вызываете его снова и снова. Вы можете даже связать их startDate.time
.
Это требует, чтобы ваш объект был Comparable
, что означает, что вам нужна реализация compareTo
, equals
и hashCode
.
Да, это может быть быстрее ... Но теперь вам не нужно создавать новый компаратор для каждого типа сортировки. Если вы можете сэкономить время dev и отказаться от времени выполнения, вы можете пойти с этим.
Вот инструкции относительно того, как установить Ваше собственное зеркало PyPi . Домашняя страница этого проекта здесь . Также, кажется, существует растущее число зеркал там.
Для получения инструкций относительно того, как установить Ваш собственный индекс пакета, проверьте это сообщение в блоге , где одно решение объяснено в конце. Затем можно также разместить собственные внутренние пакеты там. Преимущество состоит также в том, что версии фиксируются тот путь. (Для способа прикрепить версии непосредственно в buildout, проверьте это сообщение ).
, Если существуют только метаданные по PyPI и архиву, хранится где-то в другом месте, Вы могли бы, конечно, скопировать это в Ваш индекс также. Если Вы просто используете зеркало PyPI, я предполагаю, что Вам все еще нужен доступ к этим серверам.
Вы также можете использовать зеркало. Поместите это в раздел "[global]" в "~/.pip/pip.conf":
index-url = http://d.pypi.python.org/simple/
Это недавняя возможность, о которой было объявлено здесь.
На этой странице показано, как использовать альтернативное зеркало, упомянутое в сообщении @moraes, но для easy_install, buildout и virtualenv, а также pip: