In Java Generics, like Generic Classes and Interfaces we can have Generic Methods with their own type parameters
.
Example 1: Compare two values
public class Example1 {
public <T> boolean areEqual(T value1, T value2) {
return value1.equals(value2);
}
public static void main(String[] args) {
Example1 example = new Example1();
int num1 = 10;
int num2 = 10;
boolean isEqual1 = example.areEqual(num1, num2);
System.out.println(num1 + " = " + num2 + " ? " + isEqual1);
String str1 = "Sam";
String str2 = "Sammy";
boolean isEqual2 = example.areEqual(str1, str2);
System.out.println(str1 + " = " + str2 + " ? " + isEqual2);
String val1 = "1";
int val2 = 1;
boolean isEqual3 = example.areEqual(val1, val2);
System.out.println(val1 + " = " + val2 + " ? " + isEqual3);
}
}
Output:

Example 2: Find First Occurrence of an Element in an Array
import java.util.List;
public class Example2 {
public <T> int findIndex(T[] array, T target) {
for (int i = 0; i < array.length; i++) {
if (array[i].equals(target)) {
return i;
}
}
return -1; //Not Found!
}
public <T> int countOccurrences(List<T> list, T target) {
int count = 0;
for (T item : list) {
if (item.equals(target)) {
count++;
}
}
return count;
}
public static void main(String[] args) {
Example2 example = new Example2();
Integer[] intArray1 = { 1, 2, 3, 4, 5 };
int index1 = example.findIndex(intArray1, 3);
System.out.println("Index of 3 in the array is: " + index1);
String[] strArray = { "China", "Japan", "India", "USA", "Canada" };
int index2 = example.findIndex(strArray, "USA");
System.out.println("Index of 'USA' in the array is: " + index2);
Integer[] intArray2 = { 5, 6, 2, 4, 6, 7, 8, 1, 9 };
int index3 = example.findIndex(intArray2, 17);
System.out.println("Index of 17 in the array is: " + index3);
}
}
Output:
Example 3: Count Occurrences of an Element in a List
import java.util.Arrays;
import java.util.List;
public class Example3 {
public <T> int countOccurrences(List<T> list, T target) {
int count = 0;
for (T item : list) {
if (item.equals(target)) {
count++;
}
}
return count;
}
public static void main(String[] args) {
Example3 example = new Example3();
List<String> names = Arrays.asList("Japan", "China", "Japan", "Australia", "India", "Japan");
int count1 = example.countOccurrences(names, "Japan");
System.out.println("Occurrences of 'Japan' in the list: " + count1);
List<Integer> numbers = Arrays.asList(3, 4, 6, 9, 3);
int count2 = example.countOccurrences(numbers, 3);
System.out.println("Occurrences of '3' in the list: " + count2);
}
}
Output:
-
Facing issues? Have Questions? Post them here! I am happy to answer!
More Posts related to Java,
- CRUD operations in Spring Boot + JDBC
- Java Check Leap Year - Programs with Code Examples
- [fix] Java JDBC ConnectException: Connection refused
- How to add hours and minutes to Java Instant
- Java Program: Random Number Generator
- Java: The value of the local variable string is not used
- How to get list of all Java versions installed on macOS
- Java SE JDBC with Prepared Statement Parameterized Select Example
- Java + Spring JDBC Template + Gradle Example
- Convert String to LocalDate in Java
- Remove Trailing zeros BigDecimal Java
- Java 8 Predicate Functional Interface isEqual() Method Example
- How to Hardcode Date in Java with Examples
- Java 8: Predicate negate() default Function Example
- Java: Collect Stream as ArrayList or LinkedList
- The Motivation Behind Generics in Java Programming
- How to Add/Subtract Days to the Current Date in Java
- Error: Can not find the tag library descriptor for
- Setting up JUnit 5 dependency with Maven Example
- Run Java Code Every Second
- How to create a tar.gz file using Java
- [Fix] java: integer number too large compilation error
- Java 8: Find the Max value in a List
- Your JBoss Application Server 7 is running However you have not yet added any users to be able to access the admin console
- Convert Java Array to ArrayList Code Example
More Posts:
- Kill or force quit stuck application or process in Mac OS X - Mac-OS-X
- Java: Convert Date Class Object to Calendar - Java
- Your Android SDK is out of date or is missing templates. Please ensure you are using SDK version 22 or later. - Android
- 5 Reasons Why Jupyter Notebook is Not Opening and Solutions - Python
- Is Stream within a Stream Possible in Java? - Java
- Emulator: Warning: restoring GLES1 context from snapshot. App may need reloading. - Android-Studio
- SCP Copy all files from directory to Local Folder - Linux
- Detect Data roaming in Android Application - Android