A general programming library in Java/Android. It's easy to learn and simple to use with concise and powerful APIs.
-
Most daily used APIs: N, StringUtil, Array, Primitives, Seq, Iterators, Maps, DateUtil, IOUtil, f, 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, JdbcUtil, CSVUtil, DigestUtil, JSONUtil, URLEncodedUtil, AsyncExecutor, ContinuableFuture, Futures, HttpClient, OkHttpRequest, Profiler, CodeGenerator...
-
Primitive Mutable: MutableBoolean, MutableChar, MutableByte, MutableShort, MutableInt, MutableLong, MutableFloat and MutableDouble.
-
Primitive List: BooleanList, CharList, ByteList, ShortList, IntList, LongList, FloatList and DoubleList.
-
Primitive Pair/Tuple: BooleanPair, BooleanTriple... DoublePair, DoubleTriple.
-
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 and more Collectors.
-
Programming in Android: SQLiteExecutor, SQLBuilder, Async, ContinuableFuture, Futures, EventBus, Observer, ObserverX and Fu.
-
SQL Builder/ORM: DataSet, SQLExecutor, Mapper, PreparedQuery, SQLBuilder, DynamicSQLBuilder, ConditionFactory(L)...
-
ORMs for NoSQL: MongoCollectionExecutor, CassandraExecutor with CQLBuilder, CouchbaseExecutor, HBaseExecutor, DynamoDBExecutor and Neo4jExecutor.
-
JSON/XML Data Binding: Parser, JSONParser, XMLParser, KryoParser, ParserFactory...
-
Pool: Pool, ObjectPool, KeyedObjectPool, PoolFactory...
-
Matrix: AbstractMatrix, Matrix, IntMatrix, LongMatrix, DoubleMatrix...
-
SpyMemcached/JRedis: SpyMemcached, JRedis, MemcachedLock.
-
More: Charsets, Ascii, CalendarUnit, NamingPolicy, Properties, PropertiesUtil, Wrapper, ArrayHashSet, ArrayHashMap, ClassUtil, EscapeUtil, RegExUtil, FilenameUtil, AWSJSONUtil, AddrUtil, WSSecurityUtil, EmailUtil, IEEE754rUtil, Index, Median, f, Iterables, Matth, SafeInitializer, Stopwatch, RateLimiter, Traverser(from Apache commons, Google Guava...) ...
Download/Installation & Changes:
-
Gradle:
// JDK 1.8 or above:
compile 'com.landawn:abacus-util:1.5.6'
// JDK 1.7:
compile 'com.landawn:abacus-util-jdk7:1.5.6'
// Android (Java 1.7):
compile 'abacus-android-jdk7:1.5.6'
// Android-SE (Java 1.7) - small edition without Stream/Matrix/Sheet/...:
compile 'abacus-android-se-jdk7:1.5.6'
// Android (Java 1.8 or above):
compile 'com.landawn:abacus-android:1.5.6'
// Android-SE (Java 1.8 or above) - small edition without Stream/Matrix/Sheet/...:
compile 'com.landawn:abacus-android-se:1.5.6'
(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)
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, Introduction to JDBC.
lombok, Guava, Abacus-StreamEx, Kyro, snappy-java, lz4-java, Caffeine, Ehcache, Chronicle-Map, mapstruct, Sharding-JDBC, hppc, fastutil ...awesome-java