Multi-Index-Container

A Java container with dynamic indexes

Лицензия

Лицензия

Категории

Категории

Dex Универсальные библиотеки Utility
Группа

Группа

com.github.mawillers
Идентификатор

Идентификатор

multiindex
Последняя версия

Последняя версия

1.0.0
Дата

Дата

Тип

Тип

jar
Описание

Описание

Multi-Index-Container
A Java container with dynamic indexes
Ссылка на сайт

Ссылка на сайт

https://github.com/mawillers/multiindex
Система контроля версий

Система контроля версий

https://github.com/mawillers/multiindex.git

Скачать multiindex

Как подключить последнюю версию

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

Зависимости

compile (1)

Идентификатор библиотеки Тип Версия
com.google.guava : guava jar 21.0

test (3)

Идентификатор библиотеки Тип Версия
junit : junit jar 4.12
org.hamcrest : hamcrest-library jar 1.3
com.github.npathai : hamcrest-optional jar 1.0

Модули Проекта

Данный проект не имеет модулей.

Multi-Index-Container

A container class with dynamic indexes. Use this class instead of combining eg. an ArrayList (for iteration in defined order) with a HashMap (for quick lookup via some key).

Getting started

Create an instance of MultiIndexContainer and create the indexes you require. Then, put and retrieve data via any of those indexes.

MultiIndexContainer<Employee> container = MultiIndexContainer.create();
SequentialIndex<Employee> bySequence = container.createSequentialIndex();
UniqueIndex<Integer, Employee> byId = container.createHashedUniqueIndex(e -> e.getId());

bySequence.add(new Employee("Jones", 1, "London"));
bySequence.add(new Employee("Miller", 2, "New York"));
bySequence.add(new Employee("Smith", 3, "Berlin"));
bySequence.add(new Employee("Miller", 4, "Bournemouth"));
[...]
boolean wasAdded = bySequence.add(new Employee("Jones", 2, "Austin"));
Assert.isFalse(wasAdded, "Adding this employee violates the uniqueness constraint of byId index");

Optional<Employee> e = byId.getOptional(3);
if (e.isPresent())
    ...

Prerequisites

This software requires Java 8 and Guava.

Installing

To add a dependency using Maven, use the following:

<dependency>
    <groupId>com.github.mawillers</groupId>
    <artifactId>multiindex</artifactId>
    <version>1.0.0</version>
</dependency>

Running the tests

Run mvn test for compiling the code and running all unit tests.

Built with

  • Maven - Dependency Management
  • Hamcrest - Expressive matchers for JUnit
  • Guava - Generic tools

Versioning

We use SemVer for versioning.

Authors

  • Martin Willers - Design and implementation

License

This project is licensed under the MIT License - see the LICENSE.md file for details

Acknowledgments

Версии библиотеки

Версия
1.0.0