热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

org.neo4j.values.storable.ValueComparator类的使用及代码示例

本文整理了Java中org.neo4j.values.storable.ValueComparator类的一些代码示例,展示了ValueComparator

本文整理了Java中org.neo4j.values.storable.ValueComparator类的一些代码示例,展示了ValueComparator类的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ValueComparator类的具体详情如下:
包路径:org.neo4j.values.storable.ValueComparator
类名称:ValueComparator

ValueComparator介绍

[英]Comparator for values. Usable for sorting values, for example during index range scans.
[中]值的比较器。可用于排序值,例如在索引范围扫描期间。

代码示例

代码示例来源:origin: neo4j/neo4j

@Override
public boolean acceptsValue( Value value )
{
if ( value == null || value == NO_VALUE )
{
return false;
}
if ( value.valueGroup() == valueGroup )
{
if ( from != null )
{
int compare = Values.COMPARATOR.compare( value, from );
if ( compare <0 || !fromInclusive && compare == 0 )
{
return false;
}
}
if ( to != null )
{
int compare = Values.COMPARATOR.compare( value, to );
return compare <= 0 && (toInclusive || compare != 0);
}
return true;
}
return false;
}

代码示例来源:origin: neo4j/neo4j

return valueComparator.ternaryCompare( (Value) v1, (Value) v2 );
return Comparison.from( valueComparator.compare( (Value) v1, (Value) v2 ) );

代码示例来源:origin: neo4j/neo4j

Arrays.sort( expectedValues, Values.COMPARATOR.reversed() );

代码示例来源:origin: org.neo4j/neo4j-values

return valueComparator.ternaryCompare( (Value) v1, (Value) v2 );
return Comparison.from( valueComparator.compare( (Value) v1, (Value) v2 ) );

代码示例来源:origin: neo4j/neo4j

private Value pickSmaller( Value value1, Value value2 )
{
return COMPARATOR.compare( value1, value2 ) <0 ? value1 : value2;
}

代码示例来源:origin: neo4j/neo4j

@Override
public int compare( Object o1, Object o2 )
{
return Values.COMPARATOR.compare( Values.of(o1), Values.of(o2) );
}
};

代码示例来源:origin: neo4j/neo4j

@Override
public int compare( Object o1, Object o2 )
{
return Values.COMPARATOR.compare( Values.of(o1), Values.of(o2) );
}
};

代码示例来源:origin: neo4j/neo4j

@Override
public int compare( Number n1, Number n2 )
{
return Values.COMPARATOR.compare( Values.numberValue(n1), Values.numberValue(n2) );
}
};

代码示例来源:origin: neo4j/neo4j

void next( Sink sink )
{
int c = 0;
if ( valuesFromA != null && valuesFromB != null )
{
checkArgument( valuesFromA.length == valuesFromB.length,
"Expected index and txState values to have same dimensions, but got %d values from index and %d from txState",
valuesFromB.length, valuesFromA.length );
for ( int i = 0; c == 0 && i {
c = Values.COMPARATOR.compare( valuesFromA[i], valuesFromB[i] );
}
}
if ( nextFromB == -1 || Integer.signum( c ) == indexOrder )
{
sink.acceptSortedMergeJoin( nextFromA, valuesFromA );
nextFromA = -1;
valuesFromA = null;
}
else
{
sink.acceptSortedMergeJoin( nextFromB, valuesFromB );
nextFromB = -1;
valuesFromB = null;
}
}

代码示例来源:origin: neo4j/neo4j

@Override
public int compareValueTo( ZonedDateTimeIndexKey other )
{
int compare = Long.compare( epochSecondUTC, other.epochSecondUTC );
if ( compare == 0 )
{
compare = Integer.compare( nanoOfSecond, other.nanoOfSecond );
if ( compare == 0 &&
// We need to check validity upfront without throwing exceptions, because the PageCursor might give garbage bytes
TimeZones.validZoneOffset( zoneOffsetSeconds ) &&
TimeZones.validZoneOffset( other.zoneOffsetSeconds ) )
{
if ( zoneOffsetSeconds != other.zoneOffsetSeconds ||
zoneId != other.zoneId )
{
// In the rare case of comparing the same instant in different time zones, we settle for
// mapping to values and comparing using the general values comparator.
compare = Values.COMPARATOR.compare( asValue(), other.asValue() );
}
}
}
return compare;
}

代码示例来源:origin: neo4j/neo4j

static int compare(
long this_long0, long this_long1, long this_long2, long this_long3,
long that_long0, long that_long1, long that_long2, long that_long3 )
{
int compare = Long.compare( this_long0, that_long0 );
if ( compare == 0 )
{
compare = Integer.compare( (int) this_long1, (int) that_long1 );
if ( compare == 0 &&
// We need to check validity upfront without throwing exceptions, because the PageCursor might give garbage bytes
TimeZones.validZoneOffset( (int) this_long3 ) &&
TimeZones.validZoneOffset( (int) that_long3 ) )
{
// In the rare case of comparing the same instant in different time zones, we settle for
// mapping to values and comparing using the general values comparator.
compare = Values.COMPARATOR.compare(
asValue( this_long0, this_long1, this_long2, this_long3 ),
asValue( that_long0, that_long1, that_long2, that_long3 ) );
}
}
return compare;
}

代码示例来源:origin: neo4j/neo4j

private void assertLessThanOrEqualTo( Value[] o1, Value[] o2 )
{
if ( o1 == null || o2 == null )
{
return;
}
int length = Math.min( o1.length, o2.length );
for ( int i = 0; i {
int compare = Values.COMPARATOR.compare( o1[i], o2[i] );
assertThat( "expected less than or equal to but was " + Arrays.toString( o1 ) + " and " + Arrays.toString( o2 ),
compare, lessThanOrEqualTo( 0 ) );
if ( compare != 0 )
{
return;
}
}
}

代码示例来源:origin: neo4j/neo4j

int compareIndexedPropertyValue( KEY key1, KEY key2 )
{
return Values.COMPARATOR.compare( key1.asValues()[0], key2.asValues()[0] );
}

代码示例来源:origin: neo4j/neo4j

@Disabled // only runnable it JVM supports East-Saskatchewan
public void shouldCompareRenamedTimeZonesByZoneNumber()
{
int cmp = Values.COMPARATOR.compare( datetime( 10000, 100, ZoneId.of( "Canada/Saskatchewan" ) ),
datetime( 10000, 100, ZoneId.of( "Canada/East-Saskatchewan" ) ) );
assertEquals( 0, cmp, "East-Saskatchewan and Saskatchewan are the same place" );
}

代码示例来源:origin: neo4j/neo4j

@Test
public void shouldHaveSameCompareResultsAsValueCompare()
{
// given
List values = asValueObjects( objects );
List numberIndexKeys = asNumberIndexKeys( values );
// when
for ( int i = 0; i {
Value value1 = values.get( i );
NumberIndexKey numberIndexKey1 = numberIndexKeys.get( i );
for ( int j = 0; j {
// then
Value value2 = values.get( j );
NumberIndexKey numberIndexKey2 = numberIndexKeys.get( j );
assertEquals( Values.COMPARATOR.compare( value1, value2 ),
layout.compare( numberIndexKey1, numberIndexKey2 ) );
assertEquals( Values.COMPARATOR.compare( value2, value1 ),
layout.compare( numberIndexKey2, numberIndexKey1 ) );
}
}
}

代码示例来源:origin: neo4j/neo4j

private void assertFoundNodesInOrder( NodeValueIndexCursor node, IndexOrder indexOrder )
{
Value currentValue = null;
while ( node.next() )
{
long nodeReference = node.nodeReference();
Value storedValue = getPropertyValueFromStore( nodeReference );
if ( currentValue != null )
{
switch ( indexOrder )
{
case ASCENDING:
assertTrue( "Requested ordering " + indexOrder + " was not respected.",
Values.COMPARATOR.compare( currentValue, storedValue ) <= 0 );
break;
case DESCENDING:
assertTrue( "Requested ordering " + indexOrder + " was not respected.",
Values.COMPARATOR.compare( currentValue, storedValue ) >= 0 );
break;
case NONE:
// Don't verify
break;
default:
throw new UnsupportedOperationException( "Can not verify ordering for " + indexOrder );
}
}
currentValue = storedValue;
}
}

代码示例来源:origin: neo4j/neo4j

private void assertResultsInOrder( List> expected, NodeValueIndexCursor cursor )
{
Comparator> comparator = indexOrder == IndexOrder.ASCENDING ? ( a, b ) -> Values.COMPARATOR.compare( a.other(), b.other() )
: ( a, b ) -> Values.COMPARATOR.compare( b.other(), a.other() );
expected.sort( comparator );
Iterator> expectedRows = expected.iterator();
while ( cursor.next() && expectedRows.hasNext() )
{
Pair expectedRow = expectedRows.next();
assertThat( cursor.nodeReference(), equalTo( expectedRow.first() ) );
for ( int i = 0; i {
Value value = cursor.propertyValue( i );
assertThat( value, equalTo( expectedRow.other() ) );
}
}
assertFalse( expectedRows.hasNext() );
assertFalse( cursor.next() );
}

代码示例来源:origin: neo4j/neo4j

vj.writeTo( keyJ );
int expected = Integer.signum( Values.COMPARATOR.compare( vi, vj ) );
assertEquals( format( "comparing %s and %s", vi, vj ), expected, Integer.signum( i - j ) );
assertEquals( format( "comparing %s and %s", vi, vj ), expected, Integer.signum( keyI.compareValueTo( keyJ ) ) );

代码示例来源:origin: neo4j/neo4j

@ParameterizedTest
@MethodSource( "validComparableValueGenerators" )
void mustProduceValidMinimalSplitters( ValueGenerator valueGenerator )
{
// Given
Value value1 = valueGenerator.next();
Value value2;
do
{
value2 = valueGenerator.next();
}
while ( COMPARATOR.compare( value1, value2 ) == 0 );
// When
Value left = pickSmaller( value1, value2 );
Value right = left == value1 ? value2 : value1;
// Then
assertValidMinimalSplitter( left, right );
}

代码示例来源:origin: neo4j/neo4j

List> updates = generateUpdatesFromValues( values );
updateAndCommit( updates );
TreeSet sortedValues = new TreeSet<>( ( u1, u2 ) -> Values.COMPARATOR.compare( u1.values()[0], u2.values()[0] ) );
sortedValues.addAll( updates );
Value from = random.randomValues().nextValueOfType( type );
Value to = random.randomValues().nextValueOfType( type );
if ( Values.COMPARATOR.compare( from, to ) > 0 )

推荐阅读
  • 十大经典排序算法动图演示+Python实现
    本文介绍了十大经典排序算法的原理、演示和Python实现。排序算法分为内部排序和外部排序,常见的内部排序算法有插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序、基数排序等。文章还解释了时间复杂度和稳定性的概念,并提供了相关的名词解释。 ... [详细]
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • ZSI.generate.Wsdl2PythonError: unsupported local simpleType restriction ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • Whatsthedifferencebetweento_aandto_ary?to_a和to_ary有什么区别? ... [详细]
  • 使用圣杯布局模式实现网站首页的内容布局
    本文介绍了使用圣杯布局模式实现网站首页的内容布局的方法,包括HTML部分代码和实例。同时还提供了公司新闻、最新产品、关于我们、联系我们等页面的布局示例。商品展示区包括了车里子和农家生态土鸡蛋等产品的价格信息。 ... [详细]
  • Jboss的EJB部署描述符standardjaws.xml配置步骤详解
    本文详细介绍了Jboss的EJB部署描述符standardjaws.xml的配置步骤,包括映射CMP实体EJB、数据源连接池的获取以及数据库配置等内容。 ... [详细]
  • 标题: ... [详细]
  • 本文讨论了如何使用IF函数从基于有限输入列表的有限输出列表中获取输出,并提出了是否有更快/更有效的执行代码的方法。作者希望了解是否有办法缩短代码,并从自我开发的角度来看是否有更好的方法。提供的代码可以按原样工作,但作者想知道是否有更好的方法来执行这样的任务。 ... [详细]
  • 本文介绍了Python爬虫技术基础篇面向对象高级编程(中)中的多重继承概念。通过继承,子类可以扩展父类的功能。文章以动物类层次的设计为例,讨论了按照不同分类方式设计类层次的复杂性和多重继承的优势。最后给出了哺乳动物和鸟类的设计示例,以及能跑、能飞、宠物类和非宠物类的增加对类数量的影响。 ... [详细]
  • IjustinheritedsomewebpageswhichusesMooTools.IneverusedMooTools.NowIneedtoaddsomef ... [详细]
  • 基于dlib的人脸68特征点提取(眨眼张嘴检测)python版本
    文章目录引言开发环境和库流程设计张嘴和闭眼的检测引言(1)利用Dlib官方训练好的模型“shape_predictor_68_face_landmarks.dat”进行68个点标定 ... [详细]
  • 本文介绍了在iOS开发中使用UITextField实现字符限制的方法,包括利用代理方法和使用BNTextField-Limit库的实现策略。通过这些方法,开发者可以方便地限制UITextField的字符个数和输入规则。 ... [详细]
  • 欢乐的票圈重构之旅——RecyclerView的头尾布局增加
    项目重构的Git地址:https:github.comrazerdpFriendCircletreemain-dev项目同步更新的文集:http:www.jianshu.comno ... [详细]
  • 本文介绍了在Python张量流中使用make_merged_spec()方法合并设备规格对象的方法和语法,以及参数和返回值的说明,并提供了一个示例代码。 ... [详细]
author-avatar
絮尘飘雪_896
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有