当前位置: 首页>>代码示例>>Java>>正文


Java LinkedList.sort方法代码示例

本文整理汇总了Java中java.util.LinkedList.sort方法的典型用法代码示例。如果您正苦于以下问题:Java LinkedList.sort方法的具体用法?Java LinkedList.sort怎么用?Java LinkedList.sort使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在java.util.LinkedList的用法示例。


在下文中一共展示了LinkedList.sort方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: bufferedAndSortedReadAllForwards

import java.util.LinkedList; //导入方法依赖的package包/类
private Stream<ResolvedEvent> bufferedAndSortedReadAllForwards(Position positionExclusive) {
    try(Stream<ResolvedEvent> allForwards = underlying.readAllForwards()) {

        Iterator<ResolvedEvent> remainder = allForwards.iterator();
        PeekingIterator<EventWithSortKey<T>> sortCandidates = Iterators.peekingIterator(
                Iterators.transform(remainder, re -> new EventWithSortKey<>(re, sortKeyExtractor.apply(re)))
        );

        final LinkedList<EventWithSortKey<T>> buffer = new LinkedList<>();

        while (sortCandidates.hasNext() && sortCandidates.peek().sortKey.compareTo(cutoffSortKey) < 0) {
            buffer.add(sortCandidates.next());
        }

        if (!sortCandidates.hasNext()) {
            return Stream.empty();
        }

        buffer.sort(Comparator.naturalOrder());

        if (!positionExclusive.equals(underlying.emptyStorePosition())) {
            Iterator<EventWithSortKey<T>> bufferIterator = buffer.iterator();
            while (!bufferIterator.next().event.position().equals(positionExclusive)) {
                bufferIterator.remove();
            }
            bufferIterator.remove();
        }

        Stream<EventWithSortKey<T>> reorderedEvents = buffer.stream().onClose(buffer::clear);
        Stream<EventWithSortKey<T>> eventInTheGap = Stream.of(sortCandidates.peek());
        Stream<ResolvedEvent> remainingEvents = stream(spliteratorUnknownSize(remainder, ORDERED), false);

        return concat(concat(reorderedEvents, eventInTheGap).map(EventWithSortKey::toResolvedEvent), remainingEvents).onClose(allForwards::close);
    }
}
 
开发者ID:tim-group,项目名称:tg-eventstore,代码行数:36,代码来源:ReorderingEventReader.java

示例2: getPresenter

import java.util.LinkedList; //导入方法依赖的package包/类
@SuppressWarnings({ "rawtypes", "unchecked" })
@Override
public <T> Optional<PropertyValuePresenter<T>> getPresenter(Property<T> property) {
	ObjectUtils.argumentNotNull(property, "Property must be not null");

	LOGGER.debug(() -> "Get PropertyValuePresenter for property [" + property + "]");

	final LinkedList<PropertyValuePresenter> candidates = new LinkedList<>();

	for (Entry<Predicate, PropertyValuePresenter> entry : presenters.entrySet()) {
		if (entry.getKey().test(property)) {
			candidates.add(entry.getValue());
		}
	}

	if (!candidates.isEmpty()) {
		if (candidates.size() > 1) {
			// sort by priority
			candidates.sort(PRIORITY_COMPARATOR);

			LOGGER.debug(() -> "Get PropertyValuePresenter for property [" + property
					+ "] - return first of candidates: [" + candidates + "]");
		}
		return Optional.of(candidates.getFirst());
	}

	LOGGER.debug(() -> "No PropertyValuePresenter available for property [" + property + "]");

	return Optional.empty();
}
 
开发者ID:holon-platform,项目名称:holon-core,代码行数:31,代码来源:DefaultPropertyValuePresenterRegistry.java

示例3: getRenderer

import java.util.LinkedList; //导入方法依赖的package包/类
@SuppressWarnings({ "rawtypes", "unchecked" })
@Override
public <R, T> Optional<PropertyRenderer<R, T>> getRenderer(Class<R> renderingType, Property<T> property) {
	ObjectUtils.argumentNotNull(property, "Property must be not null");
	ObjectUtils.argumentNotNull(renderingType, "Rendering type must be not null");

	LOGGER.debug(() -> "Get PropertyRenderer for property [" + property + "] and type [" + renderingType + "]");

	final Map<Predicate, PropertyRenderer> renderersForType = renderers.getOrDefault(renderingType,
			Collections.emptyMap());

	final LinkedList<PropertyRenderer> candidates = new LinkedList<>();

	for (Entry<Predicate, PropertyRenderer> entry : renderersForType.entrySet()) {
		if (entry.getKey().test(property)) {
			candidates.add(entry.getValue());
		}
	}

	if (!candidates.isEmpty()) {
		if (candidates.size() > 1) {
			// sort by priority
			candidates.sort(PRIORITY_COMPARATOR);

			LOGGER.debug(() -> "Get PropertyRenderer for property [" + property + "] and type [" + renderingType
					+ "] - return first of candidates: [" + candidates + "]");
		}
		return Optional.of(candidates.getFirst());
	}

	LOGGER.debug(
			() -> "No PropertyRenderer available for property [" + property + "] and type [" + renderingType + "]");

	return Optional.empty();
}
 
开发者ID:holon-platform,项目名称:holon-core,代码行数:36,代码来源:DefaultPropertyRendererRegistry.java

示例4: sort

import java.util.LinkedList; //导入方法依赖的package包/类
protected void sort(LinkedList<Edge> edges, boolean isAscending) {
	
	if(isAscending)
		edges.sort((a, b) -> compare(a.getToVertex(), b.getToVertex()));
	else
		edges.sort((a, b) -> compare(b.getToVertex(), a.getToVertex()));
}
 
开发者ID:xeyez,项目名称:StationGraph,代码行数:8,代码来源:AbstractGraph.java


注:本文中的java.util.LinkedList.sort方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。