abacus-common
A general programming library in Java. It's easy to learn and simple to use with concise and powerful APIs.
Features:
-
Most daily used APIs: CommonUtil, N, StringUtil, Numbers, Array, Iterables, Iterators, Maps, DateUtil, IOUtil, Index, Indexed, If, Try, Synchronized, Retry, Multiset, Multimap, DataSet, Sheet, BiMap, ImmutableList, ImmutableSet, ImmutableMap, Result, Holder, Pair, Triple, Tuple, Range, Duration, Fraction, Splitter, Joiner, Builder, Difference, Comparators, Chain, Hashing, Clazz, Hex, DigestUtil, JSONUtil, URLEncodedUtil, AsyncExecutor, ContinuableFuture, Futures, Profiler...
-
Primitive Mutable: MutableBoolean, MutableChar, MutableByte, MutableShort, MutableInt, MutableLong, MutableFloat and MutableDouble.
-
Primitive List: BooleanList, CharList, ByteList, ShortList, IntList, LongList, FloatList and DoubleList.
-
Primitive/Immutable Iterator: BooleanIterator, CharIterator, ByteIterator, ShortIterator, IntIterator, LongIterator, FloatIterator, DoubleIterator, ObjIterator and LineIterator.
-
Optional: OptionalBoolean, OptionalChar, OptionalByte, OptionalShort, OptionalInt, OptionalLong, OptionalFloat, OptionalDouble, Optional and Nullable
-
Streams, both sequential and parallel, are supported for JDK7/Anrdoid and primitive types with more functions: BaseStream, Stream, CharStream, ByteStream, ShortStream, IntStream, LongStream, FloatStream, DoubleStream, EntryStream, ExceptionalStream, Fn, more Collectors and Throwables.
-
JSON/XML Data Binding: Parser, JSONParser, XMLParser, KryoParser, ParserFactory...
-
Http: HttpClient, HttpRequest, OkHttpRequest, and More ...
-
Pool: Pool, ObjectPool, KeyedObjectPool, PoolFactory...
-
SpyMemcached/JRedis: SpyMemcached, JRedis, MemcachedLock.
-
More: Charsets, Ascii, CalendarUnit, NamingPolicy, Properties, PropertiesUtil, Wrapper, ArrayHashSet, ArrayHashMap, ClassUtil, CSVUtil, EscapeUtil, RegExUtil, FilenameUtil, AddrUtil, WSSecurityUtil, EmailUtil, IEEE754rUtil, Timed, Median, Stopwatch, RateLimiter, TypeReference, Files, Traverser(copied from Apache commons, Google Guava...under Apache License v2) ...
Download/Installation & Changes:
-
Gradle:
// JDK 1.8 or above:
compile 'com.landawn:abacus-common:2.2.3'
// util-se (Java 1.7) - small edition without Streams/Primitive Lists... Mostly it's for abacus-android.
compile 'abacus-common-se:2.2.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 abacus-common)
An introduction to the java.util.stream library
Top Java 8 stream questions on stackoverflow
Kotlin vs Java 8 on Collection
User Guide:
Please refer to Wiki
Also See: abacus-jdbc, abacus-da, abacus-extra and abacus-android
Recommended Java programming libraries/frameworks:
lombok, protobuf, Guava, Kyro, snappy-java, lz4-java, Caffeine, Ehcache, Chronicle-Map, echarts, Chartjs, Highcharts, Apache POI/easyexcel, mapstruct, Sharding-JDBC, fastutil, hppc, re2j...awesome-java