-
Notifications
You must be signed in to change notification settings - Fork 10
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
260 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,260 @@ | ||
# Please refer to: [AbacusUtil](https://github.com/landawn/AbacusUtil) | ||
# Abacus-Util | ||
|
||
[![Maven Central](https://img.shields.io/maven-central/v/com.landawn/abacus-util.svg)](https://maven-badges.herokuapp.com/maven-central/com.landawn/abacus-util/) | ||
[![Javadocs](https://www.javadoc.io/badge/com.landawn/abacus-util.svg)](https://www.javadoc.io/doc/com.landawn/abacus-util) | ||
|
||
A general programming library in Java/Android. It's easy to learn and simple to use with concise and powerful APIs. | ||
|
||
## Features: | ||
|
||
* Most daily used APIs: [N](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/N_view.html), | ||
[StringUtil](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/StringUtil_view.html), | ||
[Array](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/Array_view.html), | ||
[Primitives](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/Primitives_view.html), | ||
[Seq](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/Seq_view.html), | ||
[Iterables](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/Iterables_view.html), | ||
[Iterators](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/Iterators_view.html), | ||
[Maps](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/Maps_view.html), | ||
[DateUtil](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/DateUtil_view.html), | ||
[IOUtil](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/IOUtil_view.html), | ||
[f](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/f_view.html), | ||
[Indexed](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/Indexed_view.html), | ||
[If](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/If_view.html), | ||
[Try](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/Try_view.html), | ||
[Synchronized](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/Synchronized_view.html), | ||
[Retry](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/Retry_view.html), | ||
[Multiset](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/Multiset_view.html), | ||
[Multimap](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/Multimap_view.html), | ||
[DataSet](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/DataSet_view.html), | ||
[Sheet](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/Sheet_view.html), | ||
[BiMap](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/BiMap_view.html), | ||
[ImmutableList](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/ImmutableList_view.html), | ||
[ImmutableSet](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/ImmutableSet_view.html), | ||
[ImmutableMap](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/ImmutableMap_view.html), | ||
[Result](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/Result_view.html), | ||
[Holder](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/Holder_view.html), | ||
[Pair](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/Pair_view.html), | ||
[Triple](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/Triple_view.html), | ||
[Tuple](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/Tuple_view.html), | ||
[Range](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/Range_view.html), | ||
[Duration](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/Duration_view.html), | ||
[Fraction](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/Fraction_view.html), | ||
[Splitter](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/Splitter_view.html), | ||
[Joiner](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/Joiner_view.html), | ||
[Builder](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/Builder_view.html), | ||
[Difference](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/Difference_view.html), | ||
[Comparators](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/Comparators_view.html), | ||
[Chain](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/Chain_view.html), | ||
[Hashing](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/Hashing_view.html), | ||
[Clazz](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/Clazz_view.html), | ||
[Hex](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/Hex_view.html), | ||
[JdbcUtil](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/JdbcUtil_view.html), | ||
[CSVUtil](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/CSVUtil_view.html), | ||
[DigestUtil](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/DigestUtil_view.html), | ||
[JSONUtil](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/JSONUtil_view.html), | ||
[URLEncodedUtil](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/URLEncodedUtil_view.html), | ||
[AsyncExecutor](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/AsyncExecutor_view.html), | ||
[ContinuableFuture](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/ContinuableFuture_view.html), | ||
[Futures](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/Futures_view.html), | ||
[HttpClient](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/HttpClient_view.html), | ||
[OkHttpRequest](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/OkHttpRequest_view.html), | ||
[Profiler](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/Profiler_view.html), | ||
[CodeGenerator](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/CodeGenerator_view.html)... | ||
|
||
* Primitive Mutable: | ||
[MutableBoolean](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/MutableBoolean_view.html), | ||
[MutableChar](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/MutableChar_view.html), | ||
[MutableByte](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/MutableByte_view.html), | ||
[MutableShort](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/MutableShort_view.html), | ||
[MutableInt](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/MutableInt_view.html), | ||
[MutableLong](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/MutableLong_view.html), | ||
[MutableFloat](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/MutableFloat_view.html) and | ||
[MutableDouble](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/MutableDouble_view.html). | ||
|
||
* Primitive List: | ||
[BooleanList](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/BooleanList_view.html), | ||
[CharList](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/CharList_view.html), | ||
[ByteList](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/ByteList_view.html), | ||
[ShortList](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/ShortList_view.html), | ||
[IntList](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/IntList_view.html), | ||
[LongList](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/LongList_view.html), | ||
[FloatList](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/FloatList_view.html) and | ||
[DoubleList](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/DoubleList_view.html). | ||
|
||
* Primitive Pair/Tuple: | ||
[BooleanPair](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/BooleanPair_view.html), | ||
[BooleanTriple](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/BooleanTriple_view.html)... | ||
[DoublePair](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/DoublePair_view.html), | ||
[DoubleTriple](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/DoubleTriple_view.html). | ||
|
||
* Primitive/Immutable Iterator: | ||
[BooleanIterator](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/BooleanIterator_view.html), | ||
[CharIterator](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/CharIterator_view.html), | ||
[ByteIterator](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/ByteIterator_view.html), | ||
[ShortIterator](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/ShortIterator_view.html), | ||
[IntIterator](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/IntIterator_view.html), | ||
[LongIterator](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/LongIterator_view.html), | ||
[FloatIterator](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/FloatIterator_view.html), | ||
[DoubleIterator](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/DoubleIterator_view.html), | ||
[ObjIterator](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/ObjIterator_view.html) and | ||
[LineIterator](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/LineIterator_view.html). | ||
|
||
* Optional: | ||
[OptionalBoolean](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/OptionalBoolean_view.html), | ||
[OptionalChar](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/OptionalChar_view.html), | ||
[OptionalByte](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/OptionalByte_view.html), | ||
[OptionalShort](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/OptionalShort_view.html), | ||
[OptionalInt](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/OptionalInt_view.html), | ||
[OptionalLong](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/OptionalLong_view.html), | ||
[OptionalFloat](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/OptionalFloat_view.html), | ||
[OptionalDouble](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/OptionalDouble_view.html), | ||
[Optional](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/Optional_view.html) and | ||
[Nullable](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/Nullable_view.html) | ||
|
||
* Streams, both sequential and parallel, are supported for JDK7/Anrdoid and primitive types with more functions: | ||
[BaseStream](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/BaseStream_view.html), | ||
[Stream](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/Stream_view.html), | ||
[CharStream](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/CharStream_view.html), | ||
[ByteStream](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/ByteStream_view.html), | ||
[ShortStream](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/ShortStream_view.html), | ||
[IntStream](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/IntStream_view.html), | ||
[LongStream](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/LongStream_view.html), | ||
[FloatStream](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/FloatStream_view.html), | ||
[DoubleStream](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/DoubleStream_view.html), | ||
[EntryStream](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/EntryStream_view.html), | ||
[ExceptionalStream](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/ExceptionalStream_view.html), | ||
[Fn](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/Fn_view.html) and more | ||
[Collectors](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/Collectors_view.html). | ||
|
||
* Programming in Android: | ||
[SQLiteExecutor](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/SQLiteExecutor_view.html), | ||
[SQLBuilder](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/SQLBuilder_view.html), | ||
[Async](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/Async_Android_view.html), | ||
[ContinuableFuture](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/ContinuableFuture_Android_view.html), | ||
[Futures](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/Futures_Android_view.html), | ||
[EventBus](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/EventBus_view.html), | ||
[Observer](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/Observer_view.html), | ||
[ObserverX](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/ObserverX_view.html) and | ||
[Fu](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/Fu_view.html). | ||
|
||
* SQL Builder/ORM: | ||
[DataSet](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/DataSet_view.html), | ||
[SQLExecutor](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/SQLExecutor_view.html), | ||
[Mapper](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/Mapper_view.html), | ||
[PreparedQuery](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/PreparedQuery_view.html), | ||
[SQLBuilder](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/SQLBuilder_view.html), | ||
[DynamicSQLBuilder](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/DynamicSQLBuilder_view.html), | ||
[ConditionFactory(L)](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/ConditionFactory_view.html)... | ||
|
||
* ORMs for NoSQL: | ||
[MongoCollectionExecutor](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/MongoCollectionExecutor_view.html), | ||
[CassandraExecutor](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/CassandraExecutor_view.html) with [CQLBuilder](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/CQLBuilder_view.html), | ||
[CouchbaseExecutor](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/CouchbaseExecutor_view.html), | ||
[HBaseExecutor](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/HBaseExecutor_view.html), | ||
[DynamoDBExecutor](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/DynamoDBExecutor_view.html) and | ||
[Neo4jExecutor](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/Neo4jExecutor_view.html). | ||
|
||
* JSON/XML Data Binding: | ||
[Parser](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/Parser_view.html), | ||
[JSONParser](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/JSONParser_view.html), | ||
[XMLParser](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/XMLParser_view.html), | ||
[KryoParser](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/KryoParser_view.html), | ||
[ParserFactory](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/ParserFactory_view.html)... | ||
|
||
* Pool: | ||
[Pool](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/Pool_view.html), | ||
[ObjectPool](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/ObjectPool_view.html), | ||
[KeyedObjectPool](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/KeyedObjectPool_view.html), | ||
[PoolFactory](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/PoolFactory_view.html)... | ||
|
||
* Matrix: | ||
[AbstractMatrix](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/AbstractMatrix_view.html), | ||
[Matrix](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/Matrix_view.html), | ||
[IntMatrix](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/IntMatrix_view.html), | ||
[LongMatrix](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/LongMatrix_view.html), | ||
[DoubleMatrix](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/DoubleMatrix_view.html)... | ||
|
||
* SpyMemcached/JRedis: | ||
[SpyMemcached](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/SpyMemcached_view.html), | ||
[JRedis](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/JRedis_view.html), | ||
[MemcachedLock](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/MemcachedLock_view.html). | ||
|
||
* [Deploy Once, Run Anytime](https://github.com/landawn/AbacusUtil/wiki/Deploy-Once,-Run-Anytime): | ||
[RemoteExecutor](https://cdn.rawgit.com/landawn/AbacusUtil/master/docs/RemoteExecutor_view.html). | ||
|
||
* More: | ||
[Charsets](https://static.javadoc.io/com.landawn/abacus-util/1.7.3/com/landawn/abacus/util/Charsets.html), | ||
[Ascii](https://static.javadoc.io/com.landawn/abacus-util/1.7.3/com/landawn/abacus/util/Ascii.html), | ||
[CalendarUnit](https://static.javadoc.io/com.landawn/abacus-util/1.7.3/com/landawn/abacus/util/CalendarUnit.html), | ||
[NamingPolicy](https://static.javadoc.io/com.landawn/abacus-util/1.7.3/com/landawn/abacus/util/NamingPolicy.html), | ||
[Properties](https://static.javadoc.io/com.landawn/abacus-util/1.7.3/com/landawn/abacus/util/Properties.html), | ||
[PropertiesUtil](https://static.javadoc.io/com.landawn/abacus-util/1.7.3/com/landawn/abacus/util/PropertiesUtil.html), | ||
[Wrapper](https://static.javadoc.io/com.landawn/abacus-util/1.7.3/com/landawn/abacus/util/Wrapper.html), | ||
[ArrayHashSet](https://static.javadoc.io/com.landawn/abacus-util/1.7.3/com/landawn/abacus/util/ArrayHashSet.html), | ||
[ArrayHashMap](https://static.javadoc.io/com.landawn/abacus-util/1.7.3/com/landawn/abacus/util/ArrayHashMap.html), | ||
[ClassUtil](https://static.javadoc.io/com.landawn/abacus-util/1.7.3/com/landawn/abacus/util/ClassUtil.html), | ||
[EscapeUtil](https://static.javadoc.io/com.landawn/abacus-util/1.7.3/com/landawn/abacus/util/EscapeUtil.html), | ||
[RegExUtil](https://static.javadoc.io/com.landawn/abacus-util/1.7.3/com/landawn/abacus/util/RegExUtil.html), | ||
[FilenameUtil](https://static.javadoc.io/com.landawn/abacus-util/1.7.3/com/landawn/abacus/util/FilenameUtil.html), | ||
[AWSJSONUtil](https://static.javadoc.io/com.landawn/abacus-util/1.7.3/com/landawn/abacus/util/AWSJSONUtil.html), | ||
[AddrUtil](https://static.javadoc.io/com.landawn/abacus-util/1.7.3/com/landawn/abacus/util/AddrUtil.html), | ||
[WSSecurityUtil](https://static.javadoc.io/com.landawn/abacus-util/1.7.3/com/landawn/abacus/util/WSSecurityUtil.html), | ||
[EmailUtil](https://static.javadoc.io/com.landawn/abacus-util/1.7.3/com/landawn/abacus/util/EmailUtil.html), | ||
[IEEE754rUtil](https://static.javadoc.io/com.landawn/abacus-util/1.7.3/com/landawn/abacus/util/IEEE754rUtil.html), | ||
[Index](https://static.javadoc.io/com.landawn/abacus-util/1.7.3/com/landawn/abacus/util/Index.html), | ||
[Median](https://static.javadoc.io/com.landawn/abacus-util/1.7.3/com/landawn/abacus/util/Median.html), | ||
[f](https://static.javadoc.io/com.landawn/abacus-util/1.7.3/com/landawn/abacus/util/f.html), | ||
[Matth](https://static.javadoc.io/com.landawn/abacus-util/1.7.3/com/landawn/abacus/util/Matth.html), | ||
[SafeInitializer](https://static.javadoc.io/com.landawn/abacus-util/1.7.3/com/landawn/abacus/util/SafeInitializer.html), | ||
[Stopwatch](https://static.javadoc.io/com.landawn/abacus-util/1.7.3/com/landawn/abacus/util/Stopwatch.html), | ||
[RateLimiter](https://static.javadoc.io/com.landawn/abacus-util/1.7.3/com/landawn/abacus/util/RateLimiter.html), | ||
[Traverser](https://static.javadoc.io/com.landawn/abacus-util/1.7.3/com/landawn/abacus/util/Traverser.html)(from Apache commons, Google Guava...) ... | ||
|
||
|
||
## Download/Installation & [Changes](https://github.com/landawn/AbacusUtil/blob/master/CHANGES.md): | ||
|
||
* [Maven](http://search.maven.org/#search%7Cga%7C1%7Cg%3A%22com.landawn%22) | ||
|
||
* Gradle: | ||
```gradle | ||
// JDK 1.8 or above: | ||
compile 'com.landawn:abacus-util:1.7.3' | ||
// JDK 1.7: | ||
compile 'com.landawn:abacus-util-jdk7:1.7.3' | ||
// Android (Java 1.7): | ||
compile 'abacus-android-jdk7:1.7.3' | ||
// Android-SE (Java 1.7) - small edition without Stream/Matrix/Sheet/...: | ||
compile 'abacus-android-se-jdk7:1.7.3' | ||
// Android (Java 1.8 or above): | ||
compile 'com.landawn:abacus-android:1.7.3' | ||
// Android-SE (Java 1.8 or above) - small edition without Stream/Matrix/Sheet/...: | ||
compile 'com.landawn:abacus-android-se:1.7.3' | ||
``` | ||
### Functional Programming: | ||
(It's very important to learn Lambdas and Stream APIs in Java 8 to get the best user experiences with the APIs provided in AbacusUtil) | ||
|
||
[What's New in Java 8](https://leanpub.com/whatsnewinjava8/read) | ||
|
||
[An introduction to the java.util.stream library](https://www.ibm.com/developerworks/library/j-java-streams-1-brian-goetz/index.html) | ||
|
||
[When to use parallel streams](http://gee.cs.oswego.edu/dl/html/StreamParallelGuidance.html) | ||
|
||
[Top Java 8 stream questions on stackoverflow](./Top_java_8_stream_questions_so.md) | ||
|
||
[Kotlin vs Java 8 on Collection](./Java_Kotlin.md) | ||
|
||
|
||
## User Guide: | ||
Please refer to [Wiki](https://github.com/landawn/AbacusUtil/wiki), [Introduction to JDBC](https://www.javacodegeeks.com/2015/02/jdbc-tutorial.html). | ||
|
||
|
||
## Recommended Java programming libraries/frameworks: | ||
[lombok](https://github.com/rzwitserloot/lombok), [Guava](https://github.com/google/guava), [Abacus-StreamEx](https://github.com/landawn/streamex), [Kyro](https://github.com/EsotericSoftware/kryo), [snappy-java](https://github.com/xerial/snappy-java), [lz4-java](https://github.com/lz4/lz4-java), [Caffeine](https://github.com/ben-manes/caffeine), [Ehcache](http://www.ehcache.org/), [Chronicle-Map](https://github.com/OpenHFT/Chronicle-Map), [Apache POI](https://github.com/apache/poi)/[easyexcel](https://github.com/alibaba/easyexcel), [mapstruct](https://github.com/mapstruct/mapstruct), [Sharding-JDBC](https://github.com/apache/incubator-shardingsphere), [hppc](https://github.com/carrotsearch/hppc), [fastutil](https://github.com/vigna/fastutil) ...[awesome-java](https://github.com/akullpp/awesome-java) | ||
|
||
## Recommended Java programming tools: | ||
[Spotbugs](https://github.com/spotbugs/spotbugs), [JaCoCo](https://www.eclemma.org/jacoco/)... |