Reemplazar el método contiene HashSet

¿Alguien podría decirme cómo puedo anular el método HashSet's contiene () para usar una coincidencia de expresiones regulares en lugar de solo igual ()?

O, si no se anula, ¿cómo puedo agregar un método para usar un patrón regex? Básicamente, quiero poder ejecutar regex en un HashSet que contiene cadenas, y necesito hacer coincidir las subcadenas usando regex.

Si mi método no es apropiado, sugiera otros.

Gracias. :)

Respuesta 1

Puede extender un HashSet de la siguiente manera:

public class RegExHashSet extends HashSet<String > {
    public boolean containsRegEx( String regex ) {
        for( String string : this ) {
            if( string.matches( regex ) ) {
                return true;
            }
        }
        return false;
    }
}

Entonces puedes usarlo:

RegExHashSet set = new RegExHashSet();
set.add( "hello" );
set.add( "my" );
set.add( "name" );
set.add( "is" );
set.add( "tangens" );

if( set.containsRegEx( "tan.*" ) ) {
    System.out.println( "it works" );
}
Respuesta: 2

Estoy construyendo un sistema en Java / Groovy que involucra la invocación dinámica de servicios web. Utilizo JAX-WS para invocar un servicio con una interfaz WSDL 1.1, pero no pude encontrar ninguna información útil sobre ...

El reintento se especifica de la siguiente manera: <bean id = "retryAdvice" class = "org.springframework.integration.handler.advice.RequestHandlerRetryAdvice"> <property name = "retryTemplate"> ...

Estoy tratando de verificar si una cadena tiene solo letras (mayúsculas y minúsculas), espacios y comillas (tanto dobles como simples). No puedo encontrar una forma elegante de hacer esto. Lo único ...

Tengo una escena dentro de un TransformGroup que permite que el mouse haga zoom / gire / pan. Necesito establecer la posición de la cámara lo suficientemente atrás como para poder ver toda la escena, lo que hago con lo siguiente ...