Я использую twitter4j для создания твиттер-бота, который определяет последние лайки определенных пользователей. Однако всякий раз, когда я использую
List<Status> statuses = twitter.getFavorites();
for(int i = 0; i < statuses; i++){
System.out.println(statuses.get(i));
}
На выходе получаются твиты в том порядке, в котором они были составлены исходным постером. Есть ли способ отсортировать / получить твиты в том порядке, в котором они были добавлены пользователем в избранное?
@KevinCruijssen К сожалению, getCreatedAt () возвращает дату создания твита, и мне нужна дата, когда твит был добавлен в избранное пользователем. Твиттер не создает новый статус, когда пользователь что-то добавляет в избранное.
А, ладно, я боялся, что может случиться что-то подобное. В таком случае я не могу вам помочь. Кажется, что метод getFavorites()
возвращает только 20 последних избранных статусов, но не определяет порядок.
Кажется, что у объекта
twitter4j.Status
есть getCreatedAt () метод, так что вы можете отсортировать по нему. Если вы используете Java 8+, вы можете, например, использоватьstatuses.sort(Comparator.comparing(Status::getCreatedAt));
. Если вы используете java 7 или ниже, взгляните наCollections.sort
с кастомнымComparator
. ПРИМЕЧАНИЕ. Я ничего не знаю о twitter4j, поэтому я не уверен, создает ли он новый статус каждый раз, когда пользователь меняет свой любимый. Если он повторно использует объектыStatus
или используетgetCreatedAt
для чего-то еще, я не знаю, как это сделать.