A general programming library in Java. It's easy to learn and simple to use with concise and powerful APIs.
-
Most daily used APIs: CommonUtil, N, Strings, Numbers, Array, Iterables, Iterators, Maps, DateUtil, IOUtil, Files, Index, Indexed, Keyed, If, Try, Synchronized, Retry, Multiset, Multimap, ListMultimap, SetMultimap, DataSet, Sheet, BiMap, ImmutableList, ImmutableSet, ImmutableMap, Result, Holder, Pair, Triple, Tuple, Range, Duration, Fraction, Splitter, Joiner, Builder, Difference, Comparators, Hashing, Clazz, Hex, DigestUtil, URLEncodedUtil, AsyncExecutor, ContinuableFuture, Futures, JSONUtil, Profiler...
-
Primitive Mutable: MutableBoolean, MutableChar, MutableByte, MutableShort, MutableInt, MutableLong, MutableFloat and MutableDouble.
-
Primitive List: PrimitiveList, BooleanList, CharList, ByteList, ShortList, IntList, LongList, FloatList and DoubleList.
-
Primitive/Immutable Iterator: ObjIterator, BooleanIterator, CharIterator, ByteIterator, ShortIterator, IntIterator, LongIterator, FloatIterator, DoubleIterator, BiIterator, TriIterator and LineIterator.
-
Optional: OptionalBoolean, OptionalChar, OptionalByte, OptionalShort, OptionalInt, OptionalLong, OptionalFloat, OptionalDouble, Optional and Nullable
-
Streams, both sequential and parallel, are supported with more functions: Seq, BaseStream, Stream, CharStream, ByteStream, ShortStream, IntStream, LongStream, FloatStream, DoubleStream, EntryStream, 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...
-
More: CodeGenerationUtil, JsonMappers, XmlMappers, Charsets, Ascii, CalendarField, NamingPolicy, Properties, PropertiesUtil, Configuration, XmlUtil, Wrapper, ClassUtil, CSVUtil, EscapeUtil, RegExUtil, FilenameUtil, AddrUtil, WSSecurityUtil, EmailUtil, IEEE754rUtil, Timed, IndexedKeyed, Median, Stopwatch, RateLimiter, TypeReference, WebUtil, Files, Traverser(copied from Apache commons, Google Guava...under Apache License v2) ...
Download/Installation & Changes:
<dependency>
<groupId>com.landawn</groupId>
<artifactId>abacus-common</artifactId>
<version>5.6.10</version>
<dependency>
- Gradle:
// JDK 17 or above:
compile 'com.landawn:abacus-common:5.6.10'
(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
Please refer to Wiki
Also See: abacus-jdbc, abacus-query, abacus-extra, abacus-cache and abacus-android
lombok, Guava, protobuf, Kyro, snappy-java, lz4-java, Caffeine, Ehcache, Chronicle-Map, echarts, Chartjs, Highcharts, Apache POI, easyexcel, opencsv, mapstruct, fastutil, hppc, re2j ... awesome-java
How To Design A Good API and Why it Matters
If Proposals is slow with Big class: N, Strings, Stream, Open the class file and explore the methods in outline once. Then test again.
...beyond imagination...