ElementFilter (Java Platform SE 8 )
Keywords: javax.lang.model.util.ElementFilter class
Date: 2026-08-19

compact3
javax.lang.model.util

## Class ElementFilter

- java.lang.Object
- - javax.lang.model.util.ElementFilter

-     public class ElementFilter
      extends Object

  Filters for selecting just the elements of interest from a collection of elements. The returned sets and lists are new collections and do use the argument as a backing store. The methods in this class do not make any attempts to guard against concurrent modifications of the arguments. The returned sets and lists are mutable but unsafe for concurrent access. A returned set has the same iteration order as the argument set to a method.

  If iterables and sets containing `null` are passed as arguments to methods in this class, a `NullPointerException` will be thrown.

  Note that a static import statement can make the text of calls to the methods in this class more concise; for example:

  >          import static javax.lang.model.util.ElementFilter.*;
  >          ...
  >               List<VariableElement> fs = fieldsIn(someClass.getEnclosedElements());

  Since:
    1.6

- - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static List<ExecutableElement>` | `constructorsIn(Iterable<? extends Element> elements)` Returns a list of constructors in `elements`.
    `static Set<ExecutableElement>` | `constructorsIn(Set<? extends Element> elements)` Returns a set of constructors in `elements`.
    `static List<VariableElement>` | `fieldsIn(Iterable<? extends Element> elements)` Returns a list of fields in `elements`.
    `static Set<VariableElement>` | `fieldsIn(Set<? extends Element> elements)` Returns a set of fields in `elements`.
    `static List<ExecutableElement>` | `methodsIn(Iterable<? extends Element> elements)` Returns a list of methods in `elements`.
    `static Set<ExecutableElement>` | `methodsIn(Set<? extends Element> elements)` Returns a set of methods in `elements`.
    `static List<PackageElement>` | `packagesIn(Iterable<? extends Element> elements)` Returns a list of packages in `elements`.
    `static Set<PackageElement>` | `packagesIn(Set<? extends Element> elements)` Returns a set of packages in `elements`.
    `static List<TypeElement>` | `typesIn(Iterable<? extends Element> elements)` Returns a list of types in `elements`.
    `static Set<TypeElement>` | `typesIn(Set<? extends Element> elements)` Returns a set of types in `elements`.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Method Detail

    - #### fieldsIn

          public static List<VariableElement> fieldsIn(Iterable<? extends Element> elements)

      Returns a list of fields in `elements`.
      Parameters:
        `elements` - the elements to filter
      Returns:
        a list of fields in `elements`

    - #### fieldsIn

          public static Set<VariableElement> fieldsIn(Set<? extends Element> elements)

      Returns a set of fields in `elements`.
      Parameters:
        `elements` - the elements to filter
      Returns:
        a set of fields in `elements`

    - #### constructorsIn

          public static List<ExecutableElement> constructorsIn(Iterable<? extends Element> elements)

      Returns a list of constructors in `elements`.
      Parameters:
        `elements` - the elements to filter
      Returns:
        a list of constructors in `elements`

    - #### constructorsIn

          public static Set<ExecutableElement> constructorsIn(Set<? extends Element> elements)

      Returns a set of constructors in `elements`.
      Parameters:
        `elements` - the elements to filter
      Returns:
        a set of constructors in `elements`

    - #### methodsIn

          public static List<ExecutableElement> methodsIn(Iterable<? extends Element> elements)

      Returns a list of methods in `elements`.
      Parameters:
        `elements` - the elements to filter
      Returns:
        a list of methods in `elements`

    - #### methodsIn

          public static Set<ExecutableElement> methodsIn(Set<? extends Element> elements)

      Returns a set of methods in `elements`.
      Parameters:
        `elements` - the elements to filter
      Returns:
        a set of methods in `elements`

    - #### typesIn

          public static List<TypeElement> typesIn(Iterable<? extends Element> elements)

      Returns a list of types in `elements`.
      Parameters:
        `elements` - the elements to filter
      Returns:
        a list of types in `elements`

    - #### typesIn

          public static Set<TypeElement> typesIn(Set<? extends Element> elements)

      Returns a set of types in `elements`.
      Parameters:
        `elements` - the elements to filter
      Returns:
        a set of types in `elements`

    - #### packagesIn

          public static List<PackageElement> packagesIn(Iterable<? extends Element> elements)

      Returns a list of packages in `elements`.
      Parameters:
        `elements` - the elements to filter
      Returns:
        a list of packages in `elements`

    - #### packagesIn

          public static Set<PackageElement> packagesIn(Set<? extends Element> elements)

      Returns a set of packages in `elements`.
      Parameters:
        `elements` - the elements to filter
      Returns:
        a set of packages in `elements`

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2026, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.