Skip to content

Commit

Permalink
Update java-collection-libs.md
Browse files Browse the repository at this point in the history
  • Loading branch information
halyph committed Oct 15, 2023
1 parent 1de5b6f commit 77a35a3
Showing 1 changed file with 21 additions and 14 deletions.
35 changes: 21 additions & 14 deletions docs/wiki/Lang-Java/java-collection-libs.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,21 +10,21 @@ tags:
## Overview

- *Popular*
- [**Java Collections Framework**](https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/util/package-summary.html)
- [**Apache Commons Collections**](https://github.com/apache/commons-collections)
- [**Guava**](https://github.com/google/guava) is a set of core Java libraries from Google that includes new collection types (such as multimap and multiset), immutable collections, a graph library, and utilities for concurrency, I/O, hashing, primitives, strings, and more! It is widely used on most Java projects within Google, and widely used by many other companies as well.
- [**Eclipse Collections**](https://github.com/eclipse/eclipse-collections)
- [**fastutil**](https://fastutil.di.unimi.it) extends the Java Collections Framework by providing type-specific maps, sets, lists, and queues with a small memory footprint and fast access and insertion; it provides also big (64-bit) arrays, sets, and lists, sorting algorithms, fast, practical I/O classes for binary and text files, and facilities for memory mapping large files.
- [**JCTools**](https://github.com/JCTools/JCTools) Java Concurrency Tools for the JVM. This project aims to offer some concurrent data structures currently missing from the JDK.
- [Java Collections Framework](https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/util/package-summary.html)
- [Apache Commons Collections](https://github.com/apache/commons-collections)
- [Guava](https://github.com/google/guava) [^1]
- [Eclipse Collections](https://github.com/eclipse/eclipse-collections)
- [fastutil](https://fastutil.di.unimi.it) [^2]
- [JCTools](https://github.com/JCTools/JCTools) [^3]
- *Graph*
- [**JGraphT**](https://github.com/jgrapht/jgrapht) is Java class library that provides mathematical graph-theory objects and algorithms
- [**JUNG**](https://github.com/jrtom/jung) is the Java Universal Network/Graph Framework
- [JGraphT](https://github.com/jgrapht/jgrapht) [^4]
- [JUNG](https://github.com/jrtom/jung) [^5]
- *Persistent collections*
- [**vavr**](https://github.com/vavr-io/vavr) provides persistent collections, functional abstractions for error handling, concurrent programming, pattern matching and much more
- *Personal*
- [**kevin-wayne/algs4**](https://github.com/kevin-wayne/algs4/) is a repo for "Algorithms" 4th edition book's code and libraries
- [**java-algorithms-implementation**](https://github.com/phishman3579/java-algorithms-implementation) sample algorithms and data structures implemented in Java
- [**williamfiset/Algorithms**](https://github.com/williamfiset/Algorithms) is a collection of algorithms and data structures
- [vavr](https://github.com/vavr-io/vavr) [^6]
- *Personal repos*
- [**kevin-wayne/algs4**](https://github.com/kevin-wayne/algs4/) *"Algorithms" 4th edition book's code and libraries*
- [**java-algorithms-implementation**](https://github.com/phishman3579/java-algorithms-implementation) *sample algorithms and data structures implemented*
- [**williamfiset/Algorithms**](https://github.com/williamfiset/Algorithms) *is a collection of algorithms and data structures*

## Java Collections Framework

Expand All @@ -43,4 +43,11 @@ Name | Description |
`EnumMap` | A map in which the keys belong to an enumerated type
`LinkedHashMap` | A map that remembers the order in which entries were added
`WeakHashMap` | A map with values that can be reclaimed by the garbage collector if they are not used elsewhere
`IdentityHashMap` | A map with keys that are compared by ==, not equals
`IdentityHashMap` | A map with keys that are compared by ==, not equals

[^1]: **Guava** is a set of core Java libraries from Google that includes new collection types (such as multimap and multiset), immutable collections, a graph library, and utilities for concurrency, I/O, hashing, primitives, strings, and more! It is widely used on most Java projects within Google, and widely used by many other companies as well.
[^2]: **fastutil** extends the Java Collections Framework by providing type-specific maps, sets, lists, and queues with a small memory footprint and fast access and insertion; it provides also big (64-bit) arrays, sets, and lists, sorting algorithms, fast, practical I/O classes for binary and text files, and facilities for memory mapping large files.
[^3]: **JCTools** Java Concurrency Tools for the JVM. This project aims to offer some concurrent data structures currently missing from the JDK.
[^4]: **JGraphT** is Java class library that provides mathematical graph-theory objects and algorithms.
[^5]: **JUNG** is the Java Universal Network/Graph Framework.
[^6]: **vavr** provides persistent collections, functional abstractions for error handling, concurrent programming, pattern matching and much more.

0 comments on commit 77a35a3

Please sign in to comment.