https://github.com/k1729p/study17
https://github.com/k1729p/study17
apache-commons collections concurrent-trees docker docker-compose eclipse-collections java mapping mapping-framework mapstruct patricia patricia-trie radix-trees suffix-trees
Last synced: 26 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/k1729p/study17
- Owner: k1729p
- Created: 2025-03-15T09:11:20.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-03-15T09:15:33.000Z (about 1 year ago)
- Last Synced: 2025-03-15T10:19:33.187Z (about 1 year ago)
- Topics: apache-commons, collections, concurrent-trees, docker, docker-compose, eclipse-collections, java, mapping, mapping-framework, mapstruct, patricia, patricia-trie, radix-trees, suffix-trees
- Language: Java
- Homepage:
- Size: 4.15 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: docs/README.html
Awesome Lists containing this project
README
Study17 README Contents
The assessment of the libraries
Java Mapping Framework MapStruct
Apache Commons Collections
Concurrent Radix & Suffix Trees
Eclipse Collections
The sections of this project:
Java source code:

kp
❶ Docker Build
Action:

1. With the batch file
"01 Docker build and run.bat" build the image and start the container

with the application
'kp.ApplicationForLibrariesAssay'.
2. With the batch file
"02 Docker show logs.bat" view the console logs from the application run.
1.1. The Docker image is built using these files:
Dockerfile and
compose.yaml.

The screenshot of the created Docker containers.
1.2. Alternative batch files.
For building and running the
'kp.ApplicationForLibrariesAssay' on 'localhost' use
"03 MVN clean install run.bat".
For only running the
'kp.ApplicationForLibrariesAssay' on 'localhost' use
"04 Run Application.bat".
❷ MapStruct
2.1. The mapping launch method:
'kp.mappers.MapperLauncher::launch'

Console log from 'kp.mappers.MapperLauncher::launch' method.
2.2. The mapping source objects:

The class diagram of the mapping source objects.
2.3. The mapping target objects:

The class diagram of the mapping target objects.
2.4. The interfaces are marked with the annotation '@Mapper':
-
'kp.mappers.FirstMapper' -
'kp.mappers.FirstMapper.ElementOneMapper' -
'kp.mappers.FirstMapper.KeyOneMapper' -
'kp.mappers.FirstMapper.ValueOneMapper'
This marking activates the generation of an implementation of that type via 'MapStruct'.
2.5. The mapping method:
'kp.mappers.FirstMapper::toSecond'
The finishing method:
'kp.mappers.FirstMapper::afterToSecond'
2.6. The inverse mapping method:
'kp.mappers.FirstMapper::fromSecond'
The finishing method:
'kp.mappers.FirstMapper::afterFromSecond'
❸ Commons Collections
3.1. The method
'kp.collections.commons.ApacheCommonsCollections::researchBidirectionalMap'.

Console log from 'ApacheCommonsCollections::researchBidirectionalMap' method.
3.2. The method
'kp.collections.commons.ApacheCommonsCollections::researchPatriciaTrie'.
PATRICIA: Practical Algorithm to Retrieve Information Coded in Alphanumeric.
A trie is also called a digital tree, radix tree, or prefix tree.

Console log from 'ApacheCommonsCollections::researchPatriciaTrie' method.
❹ Concurrent Radix & Suffix Trees
4.1. The method
'kp.trees.ConcurrentTrees::researchRadixTree'.

Console log from 'ConcurrentTrees::researchRadixTree' method.
4.2. The method
'kp.trees.ConcurrentTrees::researchSuffixTree'.

Console log from 'ConcurrentTrees::researchSuffixTree' method.
4.3. The method
'kp.trees.ConcurrentTrees::researchInvertedRadixTree'.

Console log from 'ConcurrentTrees::researchInvertedRadixTree' method.
4.4. The method
'kp.trees.ConcurrentTrees::researchReversedRadixTree'.
![]()
Console log from 'ConcurrentTrees::researchReversedRadixTree' method.
4.5. The method
'kp.trees.ConcurrentTrees::researchPrefixesAndSuffixesGenerator'.
![]()
Console log from 'ConcurrentTrees::researchPrefixesAndSuffixesGenerator' method.
4.6. The method
'kp.trees.ConcurrentTrees::researchSolver'.
![]()
Console log from 'ConcurrentTrees::researchSolver' method.
❺ Eclipse Collections
5.1. The method
'kp.collections.eclipse.EclipseCollections::researchChunksAndPairs'
The chunk - a collection of a specified fixed size.

Console log from 'EclipseCollections::researchChunksAndPairs' method.
5.2. The method
'kp.collections.eclipse.EclipseCollections::researchMapFlipping'

Console log from 'EclipseCollections::researchMapFlipping' method.
5.3. The method
'kp.collections.eclipse.EclipseCollections::researchSetOperations'

Console log from 'EclipseCollections::researchSetOperations' method.
5.4. The method
'kp.collections.eclipse.EclipseCollections::researchUsingDates'

Console log from 'EclipseCollections::researchUsingDates' method.
5.5. The method
'kp.collections.eclipse.EclipseCollections::researchUsingNumbers'

Console log from 'EclipseCollections::researchUsingNumbers' method.
5.6. The method
'kp.collections.eclipse.EclipseCollections::researchStacks'

Console log from 'EclipseCollections::researchStacks' method.
