Module stream.util.iterators

Expand source code
class IteratorUtils:

    """
    Iterator Utils
    """

    """
    Methods for Static Method of Stream
    """
    @staticmethod
    def iterate(seed, operator):
        while(True):
            yield seed
            seed = operator(seed)

    @staticmethod
    def generate(generator):
        while(True):
            yield generator()

    @staticmethod
    def concat(*iterables):
        for iterable in iterables:
            for elem in iterable:
                yield elem

    """
    Methods for Normal Method of Stream
    """
    @staticmethod
    def filter(iterable, predicate):
        for elem in iterable:
            if(predicate(elem)):
                yield elem

    @staticmethod
    def map(iterable, mapper):
        for elem in iterable:
            yield mapper(elem)

    @staticmethod
    def flatMap(iterable, mapper):
        for elem in iterable:
            for internal in mapper(elem):
                yield internal

    @staticmethod
    def distinct(iterable):
        elements = set()
        for elem in iterable:
            if elem not in elements:
                elements.add(elem)
                yield elem

    @staticmethod
    def peek(iterable, function):
        for elem in iterable:
            function(elem)
            yield elem

    @staticmethod
    def takeWhile(iterable, predicate):
        for elem in iterable:
            if(predicate(elem)):
                yield elem
            else:
                break

    @staticmethod
    def dropWhile(iterable, predicate):
        toDrop = True
        for elem in iterable:
            if(not predicate(elem) and toDrop):
                toDrop = False
            if(not toDrop):
                yield elem

    @staticmethod
    def skip(iterable, count):
        index = 0
        for elem in iterable:
            index += 1
            if(index > count):
                yield elem

    @staticmethod
    def limit(iterable, count):
        index = 0
        for elem in iterable:
            index += 1
            if(index <= count):
                yield elem
            else:
                break

Classes

class IteratorUtils

Iterator Utils

Expand source code
class IteratorUtils:

    """
    Iterator Utils
    """

    """
    Methods for Static Method of Stream
    """
    @staticmethod
    def iterate(seed, operator):
        while(True):
            yield seed
            seed = operator(seed)

    @staticmethod
    def generate(generator):
        while(True):
            yield generator()

    @staticmethod
    def concat(*iterables):
        for iterable in iterables:
            for elem in iterable:
                yield elem

    """
    Methods for Normal Method of Stream
    """
    @staticmethod
    def filter(iterable, predicate):
        for elem in iterable:
            if(predicate(elem)):
                yield elem

    @staticmethod
    def map(iterable, mapper):
        for elem in iterable:
            yield mapper(elem)

    @staticmethod
    def flatMap(iterable, mapper):
        for elem in iterable:
            for internal in mapper(elem):
                yield internal

    @staticmethod
    def distinct(iterable):
        elements = set()
        for elem in iterable:
            if elem not in elements:
                elements.add(elem)
                yield elem

    @staticmethod
    def peek(iterable, function):
        for elem in iterable:
            function(elem)
            yield elem

    @staticmethod
    def takeWhile(iterable, predicate):
        for elem in iterable:
            if(predicate(elem)):
                yield elem
            else:
                break

    @staticmethod
    def dropWhile(iterable, predicate):
        toDrop = True
        for elem in iterable:
            if(not predicate(elem) and toDrop):
                toDrop = False
            if(not toDrop):
                yield elem

    @staticmethod
    def skip(iterable, count):
        index = 0
        for elem in iterable:
            index += 1
            if(index > count):
                yield elem

    @staticmethod
    def limit(iterable, count):
        index = 0
        for elem in iterable:
            index += 1
            if(index <= count):
                yield elem
            else:
                break

Static methods

def concat(*iterables)
Expand source code
@staticmethod
def concat(*iterables):
    for iterable in iterables:
        for elem in iterable:
            yield elem
def distinct(iterable)
Expand source code
@staticmethod
def distinct(iterable):
    elements = set()
    for elem in iterable:
        if elem not in elements:
            elements.add(elem)
            yield elem
def dropWhile(iterable, predicate)
Expand source code
@staticmethod
def dropWhile(iterable, predicate):
    toDrop = True
    for elem in iterable:
        if(not predicate(elem) and toDrop):
            toDrop = False
        if(not toDrop):
            yield elem
def filter(iterable, predicate)
Expand source code
@staticmethod
def filter(iterable, predicate):
    for elem in iterable:
        if(predicate(elem)):
            yield elem
def flatMap(iterable, mapper)
Expand source code
@staticmethod
def flatMap(iterable, mapper):
    for elem in iterable:
        for internal in mapper(elem):
            yield internal
def generate(generator)
Expand source code
@staticmethod
def generate(generator):
    while(True):
        yield generator()
def iterate(seed, operator)
Expand source code
@staticmethod
def iterate(seed, operator):
    while(True):
        yield seed
        seed = operator(seed)
def limit(iterable, count)
Expand source code
@staticmethod
def limit(iterable, count):
    index = 0
    for elem in iterable:
        index += 1
        if(index <= count):
            yield elem
        else:
            break
def map(iterable, mapper)
Expand source code
@staticmethod
def map(iterable, mapper):
    for elem in iterable:
        yield mapper(elem)
def peek(iterable, function)
Expand source code
@staticmethod
def peek(iterable, function):
    for elem in iterable:
        function(elem)
        yield elem
def skip(iterable, count)
Expand source code
@staticmethod
def skip(iterable, count):
    index = 0
    for elem in iterable:
        index += 1
        if(index > count):
            yield elem
def takeWhile(iterable, predicate)
Expand source code
@staticmethod
def takeWhile(iterable, predicate):
    for elem in iterable:
        if(predicate(elem)):
            yield elem
        else:
            break