Java 类gnu.trove.map.hash.ArrayHashingStrategy 实例源码

项目:trove-3.0.3    文件:TCustomHashSetTest.java   
public void testArray() {
    char[] foo = new char[] { 'a', 'b', 'c' };
    char[] bar = new char[] { 'a', 'b', 'c' };

    assertFalse( foo.hashCode() == bar.hashCode() );
    //noinspection ArrayEquals
    assertFalse( foo.equals( bar ) );

    HashingStrategy<char[]> strategy = new ArrayHashingStrategy();
    assertTrue( strategy.computeHashCode( foo ) ==
        strategy.computeHashCode( bar ) );
    assertTrue( strategy.equals( foo, bar ) );

    Set<char[]> set = new TCustomHashSet<char[]>( strategy );
    set.add( foo );
    assertTrue( set.contains( foo ) );
    assertTrue( set.contains( bar ) );

    set.remove( bar );

    assertTrue( set.isEmpty() );
}
项目:trove-over-koloboke-compile    文件:TCustomHashSetTest.java   
public void testArray() {
    char[] foo = new char[] { 'a', 'b', 'c' };
    char[] bar = new char[] { 'a', 'b', 'c' };

    assertFalse( foo.hashCode() == bar.hashCode() );
    //noinspection ArrayEquals
    assertFalse( foo.equals( bar ) );

    HashingStrategy<char[]> strategy = new ArrayHashingStrategy();
    assertTrue( strategy.computeHashCode( foo ) ==
        strategy.computeHashCode( bar ) );
    assertTrue( strategy.equals( foo, bar ) );

    Set<char[]> set = new TCustomHashSet<char[]>( strategy );
    set.add( foo );
    assertTrue( set.contains( foo ) );
    assertTrue( set.contains( bar ) );

    set.remove( bar );

    assertTrue( set.isEmpty() );
}
项目:gnu.trove    文件:TCustomHashSetTest.java   
public void testArray() {
    char[] foo = new char[] { 'a', 'b', 'c' };
    char[] bar = new char[] { 'a', 'b', 'c' };

    assertFalse( foo.hashCode() == bar.hashCode() );
    //noinspection ArrayEquals
    assertFalse( foo.equals( bar ) );

    HashingStrategy<char[]> strategy = new ArrayHashingStrategy();
    assertTrue( strategy.computeHashCode( foo ) ==
        strategy.computeHashCode( bar ) );
    assertTrue( strategy.equals( foo, bar ) );

    Set<char[]> set = new TCustomHashSet<char[]>( strategy );
    set.add( foo );
    assertTrue( set.contains( foo ) );
    assertTrue( set.contains( bar ) );

    set.remove( bar );

    assertTrue( set.isEmpty() );
}
项目:trove    文件:TCustomHashSetTest.java   
public void testArray() {
    char[] foo = new char[] { 'a', 'b', 'c' };
    char[] bar = new char[] { 'a', 'b', 'c' };

    assertFalse( foo.hashCode() == bar.hashCode() );
    //noinspection ArrayEquals
    assertFalse( foo.equals( bar ) );

    HashingStrategy<char[]> strategy = new ArrayHashingStrategy();
    assertTrue( strategy.computeHashCode( foo ) ==
        strategy.computeHashCode( bar ) );
    assertTrue( strategy.equals( foo, bar ) );

    Set<char[]> set = new TCustomHashSet<char[]>( strategy );
    set.add( foo );
    assertTrue( set.contains( foo ) );
    assertTrue( set.contains( bar ) );

    set.remove( bar );

    assertTrue( set.isEmpty() );
}
项目:trove-3.0.3    文件:TCustomHashSetTest.java   
public void testSerialization() throws Exception {
    char[] foo = new char[] { 'a', 'b', 'c' };
    char[] bar = new char[] { 'a', 'b', 'c' };

    HashingStrategy<char[]> strategy = new ArrayHashingStrategy();
    Set<char[]> set = new TCustomHashSet<char[]>( strategy );

    set.add( foo );

    // Make sure it still works after being serialized
    ObjectOutputStream oout = null;
    ByteArrayOutputStream bout = null;
    ObjectInputStream oin = null;
    ByteArrayInputStream bin = null;
    try {
        bout = new ByteArrayOutputStream();
        oout = new ObjectOutputStream( bout );

        oout.writeObject( set );

        bin = new ByteArrayInputStream( bout.toByteArray() );
        oin = new ObjectInputStream( bin );

        set = ( Set<char[]> ) oin.readObject();
    }
    finally {
        if ( oin != null ) oin.close();
        if ( bin != null ) bin.close();
        if ( oout != null ) oout.close();
        if ( bout != null ) bout.close();
    }

    assertTrue( set.contains( foo ) );
    assertTrue( set.contains( bar ) );

    set.remove( bar );

    assertTrue( set.isEmpty() );
}
项目:trove-over-koloboke-compile    文件:TCustomHashSetTest.java   
public void testSerialization() throws Exception {
    char[] foo = new char[] { 'a', 'b', 'c' };
    char[] bar = new char[] { 'a', 'b', 'c' };

    HashingStrategy<char[]> strategy = new ArrayHashingStrategy();
    Set<char[]> set = new TCustomHashSet<char[]>( strategy );

    set.add( foo );

    // Make sure it still works after being serialized
    ObjectOutputStream oout = null;
    ByteArrayOutputStream bout = null;
    ObjectInputStream oin = null;
    ByteArrayInputStream bin = null;
    try {
        bout = new ByteArrayOutputStream();
        oout = new ObjectOutputStream( bout );

        oout.writeObject( set );

        bin = new ByteArrayInputStream( bout.toByteArray() );
        oin = new ObjectInputStream( bin );

        set = ( Set<char[]> ) oin.readObject();
    }
    finally {
        if ( oin != null ) oin.close();
        if ( bin != null ) bin.close();
        if ( oout != null ) oout.close();
        if ( bout != null ) bout.close();
    }

    assertTrue( set.contains( foo ) );
    assertTrue( set.contains( bar ) );

    set.remove( bar );

    assertTrue( set.isEmpty() );
}
项目:gnu.trove    文件:TCustomHashSetTest.java   
public void testSerialization() throws Exception {
    char[] foo = new char[] { 'a', 'b', 'c' };
    char[] bar = new char[] { 'a', 'b', 'c' };

    HashingStrategy<char[]> strategy = new ArrayHashingStrategy();
    Set<char[]> set = new TCustomHashSet<char[]>( strategy );

    set.add( foo );

    // Make sure it still works after being serialized
    ObjectOutputStream oout = null;
    ByteArrayOutputStream bout = null;
    ObjectInputStream oin = null;
    ByteArrayInputStream bin = null;
    try {
        bout = new ByteArrayOutputStream();
        oout = new ObjectOutputStream( bout );

        oout.writeObject( set );

        bin = new ByteArrayInputStream( bout.toByteArray() );
        oin = new ObjectInputStream( bin );

        set = ( Set<char[]> ) oin.readObject();
    }
    finally {
        if ( oin != null ) oin.close();
        if ( bin != null ) bin.close();
        if ( oout != null ) oout.close();
        if ( bout != null ) bout.close();
    }

    assertTrue( set.contains( foo ) );
    assertTrue( set.contains( bar ) );

    set.remove( bar );

    assertTrue( set.isEmpty() );
}
项目:trove    文件:TCustomHashSetTest.java   
public void testSerialization() throws Exception {
    char[] foo = new char[] { 'a', 'b', 'c' };
    char[] bar = new char[] { 'a', 'b', 'c' };

    HashingStrategy<char[]> strategy = new ArrayHashingStrategy();
    Set<char[]> set = new TCustomHashSet<char[]>( strategy );

    set.add( foo );

    // Make sure it still works after being serialized
    ObjectOutputStream oout = null;
    ByteArrayOutputStream bout = null;
    ObjectInputStream oin = null;
    ByteArrayInputStream bin = null;
    try {
        bout = new ByteArrayOutputStream();
        oout = new ObjectOutputStream( bout );

        oout.writeObject( set );

        bin = new ByteArrayInputStream( bout.toByteArray() );
        oin = new ObjectInputStream( bin );

        set = ( Set<char[]> ) oin.readObject();
    }
    finally {
        if ( oin != null ) oin.close();
        if ( bin != null ) bin.close();
        if ( oout != null ) oout.close();
        if ( bout != null ) bout.close();
    }

    assertTrue( set.contains( foo ) );
    assertTrue( set.contains( bar ) );

    set.remove( bar );

    assertTrue( set.isEmpty() );
}