ISet Interface

Definição

Uma coleção que não contém elementos duplicados.

[Android.Runtime.Register("java/util/Set", "", "Java.Util.ISetInvoker")]
[Java.Interop.JavaTypeParameters(new System.String[] { "E" })]
public interface ISet : IDisposable, Java.Interop.IJavaPeerable, Java.Util.ICollection
[<Android.Runtime.Register("java/util/Set", "", "Java.Util.ISetInvoker")>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "E" })>]
type ISet = interface
    interface ICollection
    interface IIterable
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
Derivado
Atributos
Implementações

Comentários

Uma coleção que não contém elementos duplicados. Mais formalmente, os conjuntos não contêm nenhum par de elementos e1 e e2 tal, e1.equals(e2)e no máximo um elemento nulo. Conforme implícito pelo nome, essa interface modela a abstração do conjunto matemático.

A Set interface coloca estipulações adicionais, além daquelas herdadas da Collection interface, nos contratos de todos os construtores e nos contratos dos métodos e hashCode .addequals Declarações para outros métodos herdados também são incluídas aqui para conveniência. (As especificações que acompanham essas declarações foram adaptadas para a Set interface, mas não contêm nenhuma estipulação adicional.)

A estipulação adicional em construtores é, não surpreendentemente, que todos os construtores devem criar um conjunto que não contenha elementos duplicados (conforme definido acima).

Observação: um grande cuidado deve ser exercido se objetos mutáveis forem usados como elementos definidos. O comportamento de um conjunto não será especificado se o valor de um objeto for alterado de uma maneira que afete equals comparações enquanto o objeto for um elemento no conjunto. Um caso especial dessa proibição é que não é permitido que um conjunto se contenha como um elemento.

Algumas implementações de conjunto têm restrições sobre os elementos que podem conter. Por exemplo, algumas implementações proíbem elementos nulos e algumas têm restrições sobre os tipos de seus elementos. A tentativa de adicionar um elemento inelegível gera uma exceção desmarcada, normalmente NullPointerException ou ClassCastException. A tentativa de consultar a presença de um elemento inelegível pode gerar uma exceção ou pode simplesmente retornar false; algumas implementações exibirão o comportamento anterior e algumas exibirão a última. De modo mais geral, tentar uma operação em um elemento inelegível cuja conclusão não resultaria na inserção de um elemento inelegível no conjunto pode gerar uma exceção ou ter êxito, na opção da implementação. Essas exceções são marcadas como "opcionais" na especificação dessa interface.

<h2>"unmodifiable">Unmodifiable Sets</h2>

Os Set#of(Object...) Set.of métodos de fábrica estáticos e Set#copyOf Set.copyOf estáticos fornecem uma maneira conveniente de criar conjuntos não passíveis de modificação. As Set instâncias criadas por esses métodos têm as seguintes características:

<ul>li Eles são <i>unmodifiable</i>.>< Os elementos não podem ser adicionados ou removidos. Chamar qualquer método de mutador no Conjunto sempre causará UnsupportedOperationException a geração. No entanto, se os elementos contidos forem mutáveis, isso poderá fazer com que o Conjunto se comporte de forma inconsistente ou que seu conteúdo pareça ser alterado. <li>Eles não permitem null elementos. Tentativas de criá-los com null elementos resultam em NullPointerException. <li>Eles serão serializáveis se todos os elementos forem serializáveis. <li>Eles rejeitam elementos duplicados no momento da criação. Elementos duplicados passados para um método de fábrica estático resultam em IllegalArgumentException. <li>A ordem de iteração dos elementos do conjunto não é especificada e está sujeita a alterações. <li>Eles são baseados em valor. Os programadores devem tratar instâncias #equals(Object) iguais a intercambiáveis e não devem usá-las para sincronização ou comportamento imprevisível. Por exemplo, em uma versão futura, a sincronização pode falhar. Os chamadores não devem fazer suposições sobre a identidade das instâncias retornadas. As fábricas são livres para criar novas instâncias ou reutilizar as existentes. <li>Eles são serializados conforme especificado na página Formulário Serializado . </ul>

Essa interface é um membro do Java Collections Framework.

Adicionado em 1.2.

Java documentação para java.util.Set.

Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Project Open Source do Open Source e usadas de acordo com os termos descritos na Creative Commons 2.5.

Propriedades

Nome Description
Handle

Obtém o valor JNI do objeto Android subjacente.

(Herdado de IJavaObject)
IsEmpty

Retornará true se esse conjunto não tiver elementos.

JniIdentityHashCode

Retorna o valor da java.lang.System.identityHashCode() instância encapsulada.

(Herdado de IJavaPeerable)
JniManagedPeerState

Estado do par gerenciado.

(Herdado de IJavaPeerable)
JniPeerMembers

Acesso ao membro e suporte à invocação.

(Herdado de IJavaPeerable)
PeerReference

Retorna uma JniObjectReference das instâncias de objeto Java encapsuladas.

(Herdado de IJavaPeerable)

Métodos

Nome Description
Add(Object)

Adiciona o elemento especificado a esse conjunto se ele ainda não estiver presente (operação opcional).

AddAll(ICollection)

Adiciona todos os elementos na coleção especificada a esse conjunto se eles ainda não estiverem presentes (operação opcional).

Clear()

Remove todos os elementos desse conjunto (operação opcional).

Contains(Object)

Retorna true se esse conjunto contiver o elemento especificado.

ContainsAll(ICollection)

Retornará true se esse conjunto contiver todos os elementos da coleção especificada.

CopyOf(ICollection)

Retorna um conjunto não modificável que contém os elementos da coleção fornecida.

Disposed()

Chamado quando a instância foi descartada.

(Herdado de IJavaPeerable)
DisposeUnlessReferenced()

Se não houver referências pendentes a essa instância, então chamará Dispose(); caso contrário, não fará nada.

(Herdado de IJavaPeerable)
Equals(Object)

Compara o objeto especificado com esse conjunto de igualdade.

Finalized()

Chamado quando a instância foi finalizada.

(Herdado de IJavaPeerable)
ForEach(IConsumer)

Executa a ação fornecida para cada elemento do Iterable até que todos os elementos tenham sido processados ou a ação lance uma exceção.

(Herdado de IIterable)
GetHashCode()

Retorna o valor do código hash para esse conjunto.

Iterator()

Retorna um iterador sobre os elementos neste conjunto.

Of()

Retorna um conjunto não modificável que contém zero elementos.

Of(Object, Object, Object, Object, Object, Object, Object, Object, Object, Object)

Retorna um conjunto não modificável que contém dez elementos.

Of(Object, Object, Object, Object, Object, Object, Object, Object, Object)

Retorna um conjunto não modificável que contém nove elementos.

Of(Object, Object, Object, Object, Object, Object, Object, Object)

Retorna um conjunto não modificável que contém oito elementos.

Of(Object, Object, Object, Object, Object, Object, Object)

Retorna um conjunto não modificável que contém sete elementos.

Of(Object, Object, Object, Object, Object, Object)

Retorna um conjunto não modificável que contém seis elementos.

Of(Object, Object, Object, Object, Object)

Retorna um conjunto não modificável que contém cinco elementos.

Of(Object, Object, Object, Object)

Retorna um conjunto não modificável que contém quatro elementos.

Of(Object, Object, Object)

Retorna um conjunto não modificável que contém três elementos.

Of(Object, Object)

Retorna um conjunto não modificável que contém dois elementos.

Of(Object)

Retorna um conjunto não modificável que contém um elemento.

Of(Object[])

Retorna um conjunto não modificável que contém um número arbitrário de elementos.

Remove(Object)

Remove o elemento especificado desse conjunto se ele estiver presente (operação opcional).

RemoveAll(ICollection)

Remove desse conjunto todos os seus elementos contidos na coleção especificada (operação opcional).

RemoveIf(IPredicate)

Remove todos os elementos dessa coleção que atendem ao predicado fornecido.

(Herdado de ICollection)
RetainAll(ICollection)

Retém apenas os elementos nesse conjunto contidos na coleção especificada (operação opcional).

SetJniIdentityHashCode(Int32)

Defina o valor retornado por JniIdentityHashCode.

(Herdado de IJavaPeerable)
SetJniManagedPeerState(JniManagedPeerStates)

Uma coleção que não contém elementos duplicados.

(Herdado de IJavaPeerable)
SetPeerReference(JniObjectReference)

Defina o valor retornado por PeerReference.

(Herdado de IJavaPeerable)
Size()

Retorna o número de elementos nesse conjunto (sua cardinalidade).

Spliterator()

Cria um Spliterator sobre os elementos descritos por este Iterable.

(Herdado de IIterable)
ToArray()

Retorna uma matriz que contém todos os elementos neste conjunto.

ToArray(IIntFunction)

Retorna uma matriz que contém todos os elementos nesta coleção, usando a função fornecida generator para alocar a matriz retornada.

(Herdado de ICollection)
ToArray(Object[])

Retorna uma matriz que contém todos os elementos neste conjunto; o tipo de runtime da matriz retornada é o da matriz especificada.

UnregisterFromRuntime()

Cancele o registro dessa instância para que o runtime não a retorne de invocações futuras Java.Interop.JniRuntime+JniValueManager.PeekValue .

(Herdado de IJavaPeerable)

Implantações explícitas de interface

Nome Description
IIterable.Spliterator()

Cria um Spliterator sobre os elementos neste conjunto.

Métodos de Extensão

Nome Description
GetJniTypeName(IJavaPeerable)

Obtém o nome JNI do tipo da instância self.

JavaAs<TResult>(IJavaPeerable)

Tente coagir a digitar selfTResult, verificando se a coerção é válida no lado Java.

JavaCast<TResult>(IJavaObject)

Executa uma conversão de tipo verificada pelo tempo de execução do Android.

JavaCast<TResult>(IJavaObject)

Uma coleção que não contém elementos duplicados.

ToEnumerable(IIterable)

Uma coleção que não contém elementos duplicados.

ToEnumerable<T>(IIterable)

Uma coleção que não contém elementos duplicados.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Tente coagir a digitar selfTResult, verificando se a coerção é válida no lado Java.

Aplica-se a