enumerator

Java version of Python's enumerate function.

License

License

GroupId

GroupId

com.github.kishikawa-masateru
ArtifactId

ArtifactId

enumerator
Last Version

Last Version

0.9
Release Date

Release Date

Type

Type

jar
Description

Description

enumerator
Java version of Python's enumerate function.
Source Code Management

Source Code Management

https://github.com/kishikawa-masateru/Enumerator

Download enumerator

How to add to project

<!-- https://jarcasting.com/artifacts/com.github.kishikawa-masateru/enumerator/ -->
<dependency>
    <groupId>com.github.kishikawa-masateru</groupId>
    <artifactId>enumerator</artifactId>
    <version>0.9</version>
</dependency>
// https://jarcasting.com/artifacts/com.github.kishikawa-masateru/enumerator/
implementation 'com.github.kishikawa-masateru:enumerator:0.9'
// https://jarcasting.com/artifacts/com.github.kishikawa-masateru/enumerator/
implementation ("com.github.kishikawa-masateru:enumerator:0.9")
'com.github.kishikawa-masateru:enumerator:jar:0.9'
<dependency org="com.github.kishikawa-masateru" name="enumerator" rev="0.9">
  <artifact name="enumerator" type="jar" />
</dependency>
@Grapes(
@Grab(group='com.github.kishikawa-masateru', module='enumerator', version='0.9')
)
libraryDependencies += "com.github.kishikawa-masateru" % "enumerator" % "0.9"
[com.github.kishikawa-masateru/enumerator "0.9"]

Dependencies

test (1)

Group / Artifact Type Version
junit : junit jar 4.11

Project Modules

There are no modules declared in this project.

Enumerator

Pythonの enumerate 関数のJava版です.

enumerate 関数とは

enumerate 関数とは,下の例のように,リストの要素と添え字を一ずつ取り出す関数です.

l = ["saga", "fukuoka", "nagasaki", "kumamoto"]

for i, e in enumerate(l):
    print(i, e)
    # 出力
    # 0 saga
    # 1 fukuoka
    # 2 nagasaki
    # 3 kumamoto

Java での実装

上記 enumerate 関数を Java で実装した本ライブラリは以下のように使います.

import java.util.*;

public class Main{
    public static void main(String[] args){
        List<String> l = new ArrayList<>();
        l.add("saga");
        l.add("fukuoka");
        l.add("nagasaki");
        l.add("kumamoto");

        for(Element<String> e : Enumerate.enumerate(l)){
            System.out.println(e.v + " " + e.i);
            /* 出力
            0 saga
            1 fukuoka
            2 nagasaki
            3 kumamoto
            */
        }
    }
}

今後の実装

今後の実装としては,filter 関数を実装して,特定の要素だけを取り出すようにします.
その際に,添え字を変更するか,しないかを指定できるようにするつもりです.

import java.util.*;

public class Main{
    public static void main(String[] args){
        List<String> l = new ArrayList<>();
        l.add("saga");
        l.add("fukuoka");
        l.add("nagasaki");
        l.add("kumamoto");

        for(Element<String> e : Enumerate.filter(e -> e.v == "nagasaki", true)
        .enumerate(l)){
            System.out.println(e.v + " " + e.i);
            /* 出力
            0 nagasaki
            */
        }

        for(Element<String> e : Enumerate.filter(e -> e.v == "nagasaki", false)
        .enumerate(l)){
            System.out.println(e.v + " " + e.i);
            /* 出力
            2 nagasaki
            */
        }
    }
}

Versions

Version
0.9