| 
									
										
										
										
											2013-12-24 15:11:18 +02:00
										 |  |  |  | ========= | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | ## Core Java Cookbooks and Examples
 | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | ### Relevant Articles: 
 | 
					
						
							| 
									
										
										
										
											2013-12-26 22:08:32 +02:00
										 |  |  |  | - [Immutable ArrayList in Java](http://www.baeldung.com/java-immutable-list) | 
					
						
							| 
									
										
										
										
											2016-02-08 12:01:25 +02:00
										 |  |  |  | - [Converting between an Array and a List in Java](http://www.baeldung.com/convert-array-to-list-and-list-to-array) | 
					
						
							| 
									
										
										
										
											2016-02-08 12:02:58 +02:00
										 |  |  |  | - [Converting between an Array and a Set in Java](http://www.baeldung.com/convert-array-to-set-and-set-to-array) | 
					
						
							| 
									
										
										
										
											2016-02-08 12:04:32 +02:00
										 |  |  |  | - [Converting between a List and a Set in Java](http://www.baeldung.com/convert-list-to-set-and-set-to-list) | 
					
						
							| 
									
										
										
										
											2016-02-08 12:07:07 +02:00
										 |  |  |  | - [Convert a Map to an Array, List or Set in Java](http://www.baeldung.com/convert-map-values-to-array-list-set) | 
					
						
							| 
									
										
										
										
											2017-04-09 23:21:44 -06:00
										 |  |  |  | - [Java – Random Long, Float, Integer and Double](http://www.baeldung.com/java-generate-random-long-float-integer-double) | 
					
						
							|  |  |  |  | - [Java – Generate Random String](http://www.baeldung.com/java-random-string) | 
					
						
							| 
									
										
										
										
											2016-02-09 14:27:46 +02:00
										 |  |  |  | - [Java Timer](http://www.baeldung.com/java-timer-and-timertask) | 
					
						
							| 
									
										
										
										
											2016-10-04 14:56:26 +06:00
										 |  |  |  | - [How to Run a Shell Command in Java](http://www.baeldung.com/run-shell-command-in-java) | 
					
						
							| 
									
										
										
										
											2016-10-04 15:28:03 +06:00
										 |  |  |  | - [MD5 Hashing in Java](http://www.baeldung.com/java-md5) | 
					
						
							|  |  |  |  | - [Guide to the Java ArrayList](http://www.baeldung.com/java-arraylist) | 
					
						
							|  |  |  |  | - [Guide to Java Reflection](http://www.baeldung.com/java-reflection) | 
					
						
							| 
									
										
										
										
											2016-10-23 11:25:09 +02:00
										 |  |  |  | - [A Guide to Java Sockets](http://www.baeldung.com/a-guide-to-java-sockets) | 
					
						
							| 
									
										
										
										
											2016-10-23 21:22:07 +02:00
										 |  |  |  | - [Convert char to String in Java](http://www.baeldung.com/java-convert-char-to-string) | 
					
						
							| 
									
										
										
										
											2016-10-23 21:24:20 +02:00
										 |  |  |  | - [Random List Element](http://www.baeldung.com/java-random-list-element) | 
					
						
							| 
									
										
										
										
											2016-10-23 22:36:44 +02:00
										 |  |  |  | - [Convert String to int or Integer in Java](http://www.baeldung.com/java-convert-string-to-int-or-integer) | 
					
						
							|  |  |  |  | - [Java – Try with Resources](http://www.baeldung.com/java-try-with-resources) | 
					
						
							| 
									
										
										
										
											2016-11-10 16:13:42 +01:00
										 |  |  |  | - [Guide to the Fork/Join Framework in Java](http://www.baeldung.com/java-fork-join) | 
					
						
							|  |  |  |  | - [How to Print Screen in Java](http://www.baeldung.com/print-screen-in-java) | 
					
						
							| 
									
										
										
										
											2016-11-13 13:10:28 +05:30
										 |  |  |  | - [How to Convert String to different data types in Java](http://www.baeldung.com/java-string-conversions) | 
					
						
							| 
									
										
										
										
											2016-12-09 22:40:29 +01:00
										 |  |  |  | - [Introduction to Java Generics](http://www.baeldung.com/java-generics) | 
					
						
							| 
									
										
										
										
											2016-11-12 01:10:01 +06:00
										 |  |  |  | - [Generate equals() and hashCode() with Eclipse](http://www.baeldung.com/java-eclipse-equals-and-hashcode) | 
					
						
							|  |  |  |  | - [A Guide To Java Regular Expressions API](http://www.baeldung.com/regular-expressions-java) | 
					
						
							| 
									
										
										
										
											2016-12-18 14:15:07 +06:00
										 |  |  |  | - [Sorting in Java](http://www.baeldung.com/java-sorting) | 
					
						
							|  |  |  |  | - [Getting Started with Java Properties](http://www.baeldung.com/java-properties) | 
					
						
							| 
									
										
										
										
											2016-12-18 14:13:57 +02:00
										 |  |  |  | - [Grep in Java](http://www.baeldung.com/grep-in-java) | 
					
						
							| 
									
										
										
										
											2016-12-18 18:03:11 -06:00
										 |  |  |  | - [Java - Combine Multiple Collections](http://www.baeldung.com/java-combine-multiple-collections) | 
					
						
							| 
									
										
										
										
											2016-12-19 19:13:52 +01:00
										 |  |  |  | - [Simulated Annealing for Travelling Salesman Problem](http://www.baeldung.com/java-simulated-annealing-for-traveling-salesman) | 
					
						
							| 
									
										
										
										
											2017-01-08 13:25:59 +06:00
										 |  |  |  | - [Slope One Algorithm: Collaborative Filtering Recommendation Systems](http://www.baeldung.com/java-collaborative-filtering-recommendations) | 
					
						
							|  |  |  |  | - [Pattern Search with Grep in Java](http://www.baeldung.com/grep-in-java) | 
					
						
							|  |  |  |  | - [URL Encoding and Decoding in Java](http://www.baeldung.com/java-url-encoding-decoding) | 
					
						
							|  |  |  |  | - [The Basics of Java Generics](http://www.baeldung.com/java-generics) | 
					
						
							| 
									
										
										
										
											2017-01-20 04:10:13 +06:00
										 |  |  |  | - [The Traveling Salesman Problem in Java](http://www.baeldung.com/java-simulated-annealing-for-traveling-salesman) | 
					
						
							|  |  |  |  | - [How to Create an Executable JAR with Maven](http://www.baeldung.com/executable-jar-with-maven) | 
					
						
							| 
									
										
										
										
											2017-02-12 07:32:40 -06:00
										 |  |  |  | - [How to Design a Genetic Algorithm in Java](http://www.baeldung.com/java-genetic-algorithm) | 
					
						
							| 
									
										
										
										
											2017-02-19 22:22:43 +01:00
										 |  |  |  | - [Guide to WeakHashMap in Java](http://www.baeldung.com/java-weakhashmap) | 
					
						
							|  |  |  |  | - [Spring Security – Cache Control Headers](http://www.baeldung.com/spring-security-cache-control-headers) | 
					
						
							|  |  |  |  | - [Basic Introduction to JMX](http://www.baeldung.com/java-management-extensions) | 
					
						
							|  |  |  |  | - [AWS Lambda With Java](http://www.baeldung.com/java-aws-lambda) | 
					
						
							|  |  |  |  | - [Introduction to Nashorn](http://www.baeldung.com/java-nashorn) | 
					
						
							|  |  |  |  | - [Guide to the Guava BiMap](http://www.baeldung.com/guava-bimap) | 
					
						
							|  |  |  |  | - [Chained Exceptions in Java](http://www.baeldung.com/java-chained-exceptions) | 
					
						
							|  |  |  |  | - [The Java HashMap Under the Hood](http://www.baeldung.com/java-hashmap) | 
					
						
							|  |  |  |  | - [A Guide to LinkedHashMap in Java](http://www.baeldung.com/java-linked-hashmap) | 
					
						
							|  |  |  |  | - [A Guide to TreeMap in Java](http://www.baeldung.com/java-treemap) | 
					
						
							| 
									
										
										
										
											2017-03-18 22:38:31 +01:00
										 |  |  |  | - [A Quick JUnit vs TestNG Comparison](http://www.baeldung.com/junit-vs-testng) | 
					
						
							| 
									
										
										
										
											2017-03-18 20:25:06 +01:00
										 |  |  |  | - [Java Primitive Conversions](http://www.baeldung.com/java-primitive-conversions) | 
					
						
							|  |  |  |  | - [Java Money and the Currency API](http://www.baeldung.com/java-money-and-currency) | 
					
						
							| 
									
										
										
										
											2017-04-09 23:21:44 -06:00
										 |  |  |  | - [Removing all nulls from a List in Java](http://www.baeldung.com/java-remove-nulls-from-list) | 
					
						
							|  |  |  |  | - [Removing all duplicates from a List in Java](http://www.baeldung.com/java-remove-duplicates-from-list) | 
					
						
							| 
									
										
										
										
											2017-04-18 22:20:20 +02:00
										 |  |  |  | - [Using Math.pow in Java](http://www.baeldung.com/java-math-pow) | 
					
						
							|  |  |  |  | - [Converting Strings to Enums in Java](http://www.baeldung.com/java-string-to-enum) | 
					
						
							|  |  |  |  | - [Flattening Nested Collections in Java](http://www.baeldung.com/java-flatten-nested-collections) | 
					
						
							|  |  |  |  | - [Quick Guide to the Java StringTokenizer](http://www.baeldung.com/java-stringtokenizer) | 
					
						
							|  |  |  |  | - [JVM Log Forging](http://www.baeldung.com/jvm-log-forging) | 
					
						
							|  |  |  |  | - [Guide to sun.misc.Unsafe](http://www.baeldung.com/java-unsafe) | 
					
						
							| 
									
										
										
										
											2017-04-29 13:36:05 -05:00
										 |  |  |  | - [HashSet and TreeSet Comparison](http://www.baeldung.com/java-hashset-vs-treeset) | 
					
						
							|  |  |  |  | - [How to Perform a Simple HTTP Request in Java](http://www.baeldung.com/java-http-request) | 
					
						
							| 
									
										
										
										
											2017-05-08 09:26:11 -05:00
										 |  |  |  | - [Call Methods at Runtime Using Java Reflection](http://www.baeldung.com/java-method-reflection) | 
					
						
							| 
									
										
										
										
											2017-06-02 18:53:07 +01:00
										 |  |  |  | - [Guide to UUID in JAVA](http://www.baeldung.com/guide-to-uuid-in-java) | 
					
						
							| 
									
										
										
										
											2017-05-23 07:58:17 -05:00
										 |  |  |  | - [How to Add a Single Element to a Stream](http://www.baeldung.com/java-stream-append-prepend) | 
					
						
							| 
									
										
										
										
											2017-05-30 14:57:41 -05:00
										 |  |  |  | - [Iterating Over Enum Values in Java](http://www.baeldung.com/java-enum-iteration) | 
					
						
							| 
									
										
										
										
											2017-05-24 19:46:01 +03:00
										 |  |  |  | - [Kotlin Java Interoperability](http://www.baeldung.com/kotlin-java-interoperability) | 
					
						
							| 
									
										
										
										
											2017-07-13 19:43:43 +06:00
										 |  |  |  | - [How to Round a Number to N Decimal Places in Java](http://www.baeldung.com/java-round-decimal-number) | 
					
						
							|  |  |  |  | - [Changing Annotation Parameters At Runtime](http://www.baeldung.com/java-reflection-change-annotation-params) | 
					
						
							|  |  |  |  | - [How to Find all Getters Returning Null](http://www.baeldung.com/java-getters-returning-null) | 
					
						
							|  |  |  |  | - [Changing the Order in a Sum Operation Can Produce Different Results?](http://www.baeldung.com/java-floating-point-sum-order) | 
					
						
							|  |  |  |  | - [How to Get a Name of a Method Being Executed?](http://www.baeldung.com/java-name-of-executing-method) | 
					
						
							|  |  |  |  | - [Iterate over a Map in Java](http://www.baeldung.com/java-iterate-map) | 
					
						
							| 
									
										
										
										
											2017-06-15 16:08:13 +02:00
										 |  |  |  | - [Dynamic Proxies in Java](http://www.baeldung.com/java-dynamic-proxies) | 
					
						
							| 
									
										
										
										
											2017-06-15 18:44:44 +02:00
										 |  |  |  | - [How to Copy an Array in Java](http://www.baeldung.com/java-array-copy) | 
					
						
							|  |  |  |  | - [Introduction to JDBC](http://www.baeldung.com/java-jdbc) | 
					
						
							|  |  |  |  | - [Period and Duration in Java](http://www.baeldung.com/java-period-duration) | 
					
						
							|  |  |  |  | - [Converting a Stack Trace to a String in Java](http://www.baeldung.com/java-stacktrace-to-string) | 
					
						
							|  |  |  |  | - [Count Occurrences of a Char in a String](http://www.baeldung.com/java-count-chars) | 
					
						
							|  |  |  |  | - [Java Double Brace Initialization](http://www.baeldung.com/java-double-brace-initialization) | 
					
						
							|  |  |  |  | - [The StackOverflowError in Java](http://www.baeldung.com/java-stack-overflow-error) | 
					
						
							|  |  |  |  | - [Split a String in Java](http://www.baeldung.com/java-split-string) | 
					
						
							|  |  |  |  | - [Introduction to Java Serialization](http://www.baeldung.com/java-serialization) | 
					
						
							|  |  |  |  | - [How to Remove the Last Character of a String?](http://www.baeldung.com/java-remove-last-character-of-string) | 
					
						
							|  |  |  |  | - [ClassNotFoundException vs NoClassDefFoundError](http://www.baeldung.com/java-classnotfoundexception-and-noclassdeffounderror) | 
					
						
							|  |  |  |  | - [Guide to UUID in Java](http://www.baeldung.com/java-uuid) | 
					
						
							|  |  |  |  | - [Guide to Escaping Characters in Java RegExps](http://www.baeldung.com/java-regexp-escape-char) | 
					
						
							| 
									
										
										
										
											2017-09-16 15:26:29 +06:00
										 |  |  |  | - [Guide to hashCode() in Java](http://www.baeldung.com/java-hashcode) | 
					
						
							|  |  |  |  | - [Collect a Java Stream to an Immutable Collection](http://www.baeldung.com/java-stream-immutable-collection) | 
					
						
							|  |  |  |  | - [Difference between URL and URI](http://www.baeldung.com/java-url-vs-uri) | 
					
						
							|  |  |  |  | - [Broadcasting and Multicasting in Java](http://www.baeldung.com/java-broadcast-multicast) | 
					
						
							|  |  |  |  | - [Converting a List to String in Java](http://www.baeldung.com/java-list-to-string) | 
					
						
							|  |  |  |  | - [CharSequence vs. String in Java](http://www.baeldung.com/java-char-sequence-string) | 
					
						
							| 
									
										
										
										
											2017-08-25 18:39:12 +01:00
										 |  |  |  | - [Period and Duration in Java](http://www.baeldung.com/java-period-duration) | 
					
						
							| 
									
										
										
										
											2017-10-15 13:55:42 +02:00
										 |  |  |  | - [Guide to the Diamond Operator in Java](http://www.baeldung.com/java-diamond-operator) | 
					
						
							|  |  |  |  | - [Singletons in Java](http://www.baeldung.com/java-singleton) | 
					
						
							|  |  |  |  | - [“Sneaky Throws” in Java](http://www.baeldung.com/java-sneaky-throws) | 
					
						
							|  |  |  |  | - [OutOfMemoryError: GC Overhead Limit Exceeded](http://www.baeldung.com/java-gc-overhead-limit-exceeded) | 
					
						
							|  |  |  |  | - [StringBuilder and StringBuffer in Java](http://www.baeldung.com/java-string-builder-string-buffer) | 
					
						
							|  |  |  |  | - [Number of Digits in an Integer in Java](http://www.baeldung.com/java-number-of-digits-in-int) | 
					
						
							|  |  |  |  | - [Proxy, Decorator, Adapter and Bridge Patterns](http://www.baeldung.com/java-structural-design-patterns) | 
					
						
							| 
									
										
										
										
											2017-11-14 11:37:36 +02:00
										 |  |  |  | - [Creating a Java Compiler Plugin](http://www.baeldung.com/java-build-compiler-plugin) | 
					
						
							| 
									
										
										
										
											2017-11-17 20:00:32 +06:00
										 |  |  |  | - [A Guide to the Static Keyword in Java](http://www.baeldung.com/java-static) | 
					
						
							|  |  |  |  | - [Initializing Arrays in Java](http://www.baeldung.com/java-initialize-array) | 
					
						
							| 
									
										
										
										
											2017-11-21 22:21:27 -06:00
										 |  |  |  | - [Guide to Java String Pool](http://www.baeldung.com/java-string-pool) | 
					
						
							| 
									
										
										
										
											2017-11-26 17:29:14 +00:00
										 |  |  |  | - [Introduction to Creational Design Patterns](http://www.baeldung.com/creational-design-patterns) | 
					
						
							| 
									
										
										
										
											2017-12-02 11:55:12 +02:00
										 |  |  |  | - [Quick Example - Comparator vs Comparable in Java](http://www.baeldung.com/java-comparator-comparable) | 
					
						
							| 
									
										
										
										
											2017-12-12 12:32:35 +06:00
										 |  |  |  | - [Quick Guide to Java Stack](http://www.baeldung.com/java-stack) | 
					
						
							|  |  |  |  | - [The Java continue and break Keywords](http://www.baeldung.com/java-continue-and-break) | 
					
						
							|  |  |  |  | - [Introduction to the Java ArrayDeque](http://www.baeldung.com/java-array-deque) | 
					
						
							|  |  |  |  | - [Guide to java.util.Formatter](http://www.baeldung.com/java-string-formatter) | 
					
						
							| 
									
										
										
										
											2017-12-19 19:03:15 +00:00
										 |  |  |  | - [Batch Processing in JDBC](http://www.baeldung.com/jdbc-batch-processing) | 
					
						
							| 
									
										
										
										
											2017-12-24 19:50:07 +02:00
										 |  |  |  | - [Check if a Java Array Contains a Value](http://www.baeldung.com/java-array-contains-value) | 
					
						
							| 
									
										
										
										
											2017-12-24 11:50:17 -06:00
										 |  |  |  | - [How to Invert an Array in Java](http://www.baeldung.com/java-invert-array) | 
					
						
							| 
									
										
										
										
											2017-12-25 22:13:39 -06:00
										 |  |  |  | - [Guide to the Cipher Class](http://www.baeldung.com/java-cipher-class) | 
					
						
							| 
									
										
										
										
											2017-12-28 01:11:30 +02:00
										 |  |  |  | - [A Guide to Java Initialization](http://www.baeldung.com/java-initialization) | 
					
						
							| 
									
										
										
										
											2018-01-06 11:35:44 +02:00
										 |  |  |  | - [Implementing a Binary Tree in Java](http://www.baeldung.com/java-binary-tree) | 
					
						
							| 
									
										
										
										
											2018-01-06 11:28:35 +02:00
										 |  |  |  | - [A Guide to ThreadLocalRandom in Java](http://www.baeldung.com/java-thread-local-random) | 
					
						
							| 
									
										
										
										
											2018-01-08 17:27:04 +00:00
										 |  |  |  | - [RegEx for matching Date Pattern in Java](http://www.baeldung.com/java-date-regular-expressions) | 
					
						
							| 
									
										
										
										
											2018-01-18 02:53:17 +06:00
										 |  |  |  | - [Introduction to the JDBC RowSet Interface in Java](http://www.baeldung.com/java-jdbc-rowset) | 
					
						
							|  |  |  |  | - [Nested Classes in Java](http://www.baeldung.com/java-nested-classes) | 
					
						
							|  |  |  |  | - [A Guide to Java Loops](http://www.baeldung.com/java-loops) | 
					
						
							|  |  |  |  | - [Varargs in Java](http://www.baeldung.com/java-varargs) | 
					
						
							|  |  |  |  | - [A Guide to HashSet in Java](http://www.baeldung.com/java-hashset) | 
					
						
							|  |  |  |  | - [A Guide to Inner Interfaces in Java](http://www.baeldung.com/java-inner-interfaces) | 
					
						
							|  |  |  |  | - [Polymorphism in Java](http://www.baeldung.com/java-polymorphism) | 
					
						
							|  |  |  |  | - [Recursion In Java](http://www.baeldung.com/java-recursion) | 
					
						
							| 
									
										
										
										
											2018-01-25 22:06:00 +01:00
										 |  |  |  | - [A Guide to the finalize Method in Java](http://www.baeldung.com/java-finalize) | 
					
						
							| 
									
										
										
										
											2018-02-24 08:19:12 +01:00
										 |  |  |  | - [Compiling Java *.class Files with javac](http://www.baeldung.com/javac) | 
					
						
							| 
									
										
										
										
											2018-02-26 19:39:11 -06:00
										 |  |  |  | - [Method Overloading and Overriding in Java](http://www.baeldung.com/java-method-overload-override) | 
					
						
							| 
									
										
										
										
											2018-03-02 22:40:04 +06:00
										 |  |  |  | - [A Guide to TreeSet in Java](http://www.baeldung.com/java-tree-set) | 
					
						
							|  |  |  |  | - [Guide to ThreadLocalRandom in Java](http://www.baeldung.com/java-thread-local-random) | 
					
						
							|  |  |  |  | - [Java TreeMap vs HashMap](http://www.baeldung.com/java-treemap-vs-hashmap) | 
					
						
							|  |  |  |  | - [A Guide to Iterator in Java](http://www.baeldung.com/java-iterator) | 
					
						
							|  |  |  |  | - [The Trie Data Structure in Java](http://www.baeldung.com/trie-java) | 
					
						
							|  |  |  |  | - [Introduction to Javadoc](http://www.baeldung.com/javadoc) | 
					
						
							| 
									
										
										
										
											2018-03-04 20:34:17 +01:00
										 |  |  |  | - [How to TDD a List Implementation](http://jira.baeldung.com/browse/BAEL-1537) | 
					
						
							| 
									
										
										
										
											2018-03-17 15:24:22 -05:00
										 |  |  |  | - [How to Make a Deep Copy of an Object in Java](http://www.baeldung.com/java-deep-copy) | 
					
						
							| 
									
										
										
										
											2018-03-18 15:49:32 +02:00
										 |  |  |  | - [Check if a String is a Palindrome](http://www.baeldung.com/java-palindrome) | 
					
						
							| 
									
										
										
										
											2018-03-18 18:16:04 +02:00
										 |  |  |  | - [Comparing Strings in Java](http://www.baeldung.com/java-compare-strings) | 
					
						
							|  |  |  |  | - [Guide to Inheritance in Java](http://www.baeldung.com/java-inheritance) | 
					
						
							|  |  |  |  | - [Guide to Externalizable Interface in Java](http://www.baeldung.com/java-externalizable) | 
					
						
							| 
									
										
										
										
											2018-04-11 11:33:18 +06:00
										 |  |  |  | - [The Observer Pattern in Java](https://github.com/eugenp/tutorials/tree/master/core-java) | 
					
						
							|  |  |  |  | - [Flyweight Pattern in Java](http://www.baeldung.com/java-flyweight) | 
					
						
							|  |  |  |  | - [Object Type Casting in Java](http://www.baeldung.com/java-type-casting) | 
					
						
							|  |  |  |  | - [A Practical Guide to DecimalFormat](http://www.baeldung.com/java-decimalformat) | 
					
						
							|  |  |  |  | - [How to Detect the OS Using Java](http://www.baeldung.com/java-detect-os) | 
					
						
							|  |  |  |  | - [How to TDD a List Implementation in Java](http://www.baeldung.com/java-test-driven-list) | 
					
						
							|  |  |  |  | - [ASCII Art in Java](http://www.baeldung.com/ascii-art-in-java) | 
					
						
							|  |  |  |  | - [An Advanced Tagging Implementation with JPA](http://www.baeldung.com/jpa-tagging-advanced) | 
					
						
							|  |  |  |  | - [Handling Daylight Savings Time in Java](http://www.baeldung.com/java-daylight-savings) | 
					
						
							| 
									
										
										
										
											2018-04-10 09:16:10 -05:00
										 |  |  |  | - [Inheritance and Composition (Is-a vs Has-a relationship) in Java](http://www.baeldung.com/java-inheritance-composition) | 
					
						
							| 
									
										
										
										
											2018-03-02 22:40:04 +06:00
										 |  |  |  | 
 |