Latest Posts

HashMap implementation in Java using List

HashMap is one of the most widely used implementation of Map to store key-value pairs. It has been introduced in Java 1.2 and here I am trying to implement HashMap with ArrayList. The below code will provide two of the basic HashMap functions i.e get(key) and put(key, value). The code also takes care of checking duplicate values while storing.

Please note that its just the basic implementation and should not be used as a replacement of HashMap. Also while testing the code, make sure that the Object used in the KEY has proper implementation of equals() method.

How to Create Immutable Class in Java?

Immutable objects are instances whose state doesn’t change after it has been initialized. For example, String is an immutable class and once instantiated its value never changes.

Immutable objects are good for caching purpose because you don’t need to worry about the value changes. Other benefit of immutable class is that it is inherently thread-safe, so you don’t need to worry about thread safety in case of multi-threaded environment.

Here I am providing a way to create immutable class via an example for better understanding.

ConcurrentHashMap in Java

If you are a Java Developer, I am sure that you must be aware of ConcurrentModificationException that comes when you want to modify the Collection object while using iterator to go through with all its element.

Java 1.5 has introduced java.util.concurrent package with Collection classes implementations that allow you to modify your collection object at runtime.

ConcurrentHashMap is the class that is similar to HashMap but works fine when you try to modify your map at runtime.

Linux Rename Multiple Files Extension

In unix environment, mv is the command to move files and we can use it to change file extension also. But it works with a single file only and it doesn’t take wild characters also.

Here I am providing a simple script that you can use to change extension of multiple files in a directory.

Queue Implementation in Java using Array

Queue is a special type of collection designed to hold elements before processing and order elements in a FIFO (first-in-first-out) manner.

Here I am trying to implement Queue with Object Array and provides basic functionalities like enqueue(obj), dequeue() and isEmpty().

How to implement ArrayList with Array in Java

ArrayList is similar to Object Array but provides the feature of dynamic space allocation when the number of objects in the list grows. In Object Array we need to provide the size at the time of initialization but that is not required for ArrayList. Actually when you initialize ArrayList, it automatically assigns its capacity to 10.

Here I am trying to implement ArrayList with Object Array and provide basic functions i.e get(index), add(object) and remove(index).

JiBX Tutorial

JiBX is a very powerful framework for converting XML data to java object and vice versa. It is very useful in applications integration where XML is the format for data transfer, for example, Web Services and Legacy Systems Integration based on Message Oriented Model (MOM).

Converting Java Object in to XML is called Marshalling and creating java object from XML is called un-marshalling. There are many frameworks available for XML transformation such as JAXB and XMLBeans but JiBX differs in the approach for XML binding and transformation process. JiBX performs these tasks via utility classes generated at compile time via ant scripts. This approach reduces the processing time by moving away from the traditional two-step process with other parsers to a single step.

Benchmarks done on various XML binding tools have shown JiBX as the fastest and the most memory efficient parsing framework till date.

Here I am providing a sample application for XML transformation using JiBX parser.

Java XML Formatter

eXtensive Markup Language (XML) is one of the popular medium for messaging and communication between different applications. Since XML is open source and provides control over data format via DTD and XSDs, it’s widely used across technologies.

Few days back, I came across a situation where the third party API was returning Document object and XML message as String. So I wrote this simple XmlFormatter class to format the XML with proper indentation and convert Document object to XML String.

Java Object clone() Method – Cloning in Java

Java Object class comes with native clone() method that returns the copy of the existing instance. To use java cloning, all you need is to implement the marker interface java.lang.Cloneable so that it won’t throw CloneNotSupportedException at runtime.

So if clone() function returns the object copy, why do we need to over-write it and in which cases?

How to Change App icon in Mac

In Mac OS, all the applications have .app extension but it ships in the form of a zip file. So you can easily check the contents of any application.

The application icon is actually an icon file with .icns extension stored in the application. To change the icon of application, you need to find out the existing icon file and then replace it with the desired one. For example, here I am changing Firefox icon to some other icon.

Generic selectors
Exact matches only
Search in title
Search in content