Basic:
(1) Element; (2) Index
import java.util.Arrays
int array[] = {1,2,3,4,5};
Display Array:
public class ArrayDemo{
public static void main(String[] args){
int array[] = {1,2,3,4,5};
System.out.println(Arrays.toString(array));
}
}
public class ArrayDemo{
public static void main(String[] args){
int array[] = {1,2,3,4,5};
for (int i = 0; i < array.length; i++) {
System.out.println(array[i]);
}
}
}
Operations:
(1) Insertion:
Add an element at given index
(2) Deletion:
Delete an element at given index
(3) Search:
Search an element using given index or by value
(4) Update:
Update an element at given index
Java Code Examples:
public class ArrayOperations {
// Method to insert an element at a given index
public static int[] insert(int[] array, int element, int index) {
if (index < 0 || index > array.length) {
System.out.println("Invalid index");
return array;
}
int[] newArray = new int[array.length + 1];
for (int i = 0, j = 0; i < newArray.length; i++) {
if (i == index) {
newArray[i] = element;
} else {
newArray[i] = array[j++];
}
}
return newArray;
}
// Method to delete an element at a given index
public static int[] delete(int[] array, int index) {
if (index < 0 || index >= array.length) {
System.out.println("Invalid index");
return array;
}
int[] newArray = new int[array.length - 1];
for (int i = 0, j = 0; i < array.length; i++) {
if (i == index) {
continue;
}
newArray[j++] = array[i];
}
return newArray;
}
// Method to search an element by its value
public static int searchByValue(int[] array, int value) {
for (int i = 0; i < array.length; i++) {
if (array[i] == value) {
return i; // return index of the found element
}
}
return -1; // return -1 if element is not found
}
// Method to search an element by index
public static int searchByIndex(int[] array, int index) {
if (index < 0 || index >= array.length) {
return -1; // return -1 if index is invalid
}
return array[index];
}
// Method to update an element at a given index
public static void update(int[] array, int element, int index) {
if (index < 0 || index >= array.length) {
System.out.println("Invalid index");
return;
}
array[index] = element;
}
public static void main(String[] args) {
int[] array = {1, 2, 3, 4, 5};
// Insertion
array = insert(array, 6, 3);
System.out.println("After insertion: " + java.util.Arrays.toString(array));
// Deletion
array = delete(array, 2);
System.out.println("After deletion: " + java.util.Arrays.toString(array));
// Search by Value
int index = searchByValue(array, 4);
System.out.println("Search by value (4): " + index);
// Search by Index
int value = searchByIndex(array, 2);
System.out.println("Search by index (2): " + value);
// Update
update(array, 10, 1);
System.out.println("After update: " + java.util.Arrays.toString(array));
}
}
ArrayList: import java.util.Arrays
An 'ArrayList' in Java is a part of the Java Collections Framework and is present in the 'java.util' package.
Example:
import java.util.ArrayList;
public class ArrayListExample {
public static void main(String[] args) {
ArrayList<String> fruits = new ArrayList<>();
// Adding elements
fruits.add("Apple");
fruits.add("Banana");
fruits.add("Cherry");
// Accessing elements
String firstFruit = fruits.get(0);
System.out.println("First fruit: " + firstFruit);
// Modifying elements
fruits.set(1, "Blueberry");
// Removing elements
fruits.remove("Cherry");
// Iterating through the ArrayList
System.out.println("Fruits list:");
for (String fruit : fruits) {
System.out.println(fruit);
}
}
}
LC 704:二分法查找
//Recursive Method
class ArrayDemo{
int binarySearch(int array[], int target, int low, int high){
if(high>=low){
int mid = low + (high-low)/2;
if(array[mid]==target) return mid;
if(array[mid]>target) return binarySearch(array,target,low,mid-1);
return binarySearch(array,target,mid+1,high);
}
return -1;
}
public static void main(String args[]){
BinarySearch ob = new BinarySearch();
int array[] = {3,4,5,6,7,8,9};
int n = array.length;
int target = 8;
int result = ob.binarySearch(array,target,0,n-1);
if(result == -1) System.out.println("Not found!");
else System.out.println("Index is:" +result);
}
}
//Iterative Method
class ArrayDemo{
int binarySearch(int array[], int target, int low, int high){
while(low<=high){
int mid = low + (high-low)/2;
if(array[mid]==target) return mid;
if(array[mid]<target) low = mid+1;
else high = mid-1;
}
return -1;
}
public static void main(String args[]){
ArrayDemo ob = new ArrayDemo();
int array[] = {1,2,3,4,5,6,7,8,9};
int target = 8;
int n = array.length;
int result = ob.binarySearch(array,target,0,n-1);
if(result == -1) System.out.println("Not found!");
else System.out.println("Index is:" +result);
}
}
LC27:移除元素
class Solution {
public int removeElement(int[] nums, int val) {
int j=0;
for(int i=0;i<nums.length;i++){
if(nums[i]!=val){
nums[j]=nums[i];
j++;
}
}
return j;
}
}
LC977.有序数组的平方 | Easy
Related Topics: Array, two pointers
//O(N*logN)time
//O(1)space
import java.util.Arrays;
class Solution {
public int[] sortedSquares(int[] nums) {
int n= nums.length;
int res[] = new int[n];
for(int i = 0;i<n;i++){
res[i] = nums[i] * nums[i];
}
Arrays.sort(res);
return res;
}
}
LC209.长度最小的子数组
// O(n)time
// O(1)space
public int minSubArrayLen(int s, int[] nums) {
int len = nums.length;
int res = len + 1;
int pre = 0, cur = 0;
int sum = 0;
for(int i = 0; i < nums.length; i++){
if(nums[i] >= s){
return 1;
}
sum += nums[i];
cur++;
while(sum >= s){
sum -= nums[pre];
res = Math.min(cur - pre, res);
pre++;
}
}
return res == len + 1 ? 0 : res;
}