← Back to Core Java Course | Chapter 5: Methods & Arrays | Lesson 10 of 10

Java की Arrays Class

Arrays class arrays के लिए helpers का एक toolbox है, जैसे उन्हें print करना, sort करना, search करना, fill करना, और copy करना। यह आपको वे loops खुद लिखने से बचाता है।
Syntax
java
import java.util.Arrays;

Arrays.sort(array);
Arrays.toString(array);
Arrays.fill(array, value);

Printing Arrays with toString()

एक array को System.out.println(arr) से सीधे print करना [I@1b6d3586 जैसा कुछ दिखाता है — array का type और memory hash, इसकी contents नहीं — क्योंकि arrays toString() override नहीं करते।

java.util.Arrays से Arrays.toString(arr) इसके बजाय आपको readable [1, 2, 3] form देता है।

उदाहरण: Printing Arrays with toString()

java
import java.util.Arrays;
public class Main {
	public static void main(String[] args) {
		int[] arr = {1, 2, 3};
		System.out.println(arr); // e.g. [I@1b6d3586
		System.out.println(Arrays.toString(arr)); // [1, 2, 3]
	}
}

Sorting Arrays

Arrays.sort() एक tuned dual-pivot quicksort उपयोग करके एक primitive array को जगह पर ascending order में sort करता है, और यह object arrays (जैसे String[]) पर भी काम करता है जब तक elements Comparable implement करें या आप एक Comparator supply करें।

उदाहरण: Sorting Arrays

java
// Import java.util.Arrays so it can be used by its short name
import java.util.Arrays;
// Define the class Main
public class Main {
	// Program entry point: the JVM starts running here
	public static void main(String[] args) {
		// Declare arr and set it to {5, 2, 8, 1}
		int[] arr = {5, 2, 8, 1};
		Arrays.sort(arr);
		// Print a line to the console
		System.out.println(Arrays.toString(arr));
	}
}

Searching with Binary Search

Arrays.binarySearch() O(log n) time में एक element की index ढूंढता है, लेकिन सिर्फ तब सही काम करता है अगर array पहले से sorted हो — इसे एक unsorted array पर चलाना एक undefined, unreliable result देता है एक clear error के बजाय।

उदाहरण: Searching with Binary Search

java
// Import java.util.Arrays so it can be used by its short name
import java.util.Arrays;
// Define the class Main
public class Main {
	// Program entry point: the JVM starts running here
	public static void main(String[] args) {
		// Declare arr and set it to {1, 3, 5, 7, 9}
		int[] arr = {1, 3, 5, 7, 9};
		// Declare index and set it to Arrays.binarySearch(arr, 7)
		int index = Arrays.binarySearch(arr, 7);
		// Print a line to the console
		System.out.println(index);
	}
}

Filling Arrays

Arrays.fill() एक call में हर element (या एक specified range) को वही value से overwrite करता है, जो एक counting array reset करने या असली data लिखने से पहले एक buffer को -1 जैसी एक sentinel value से initialize करने के लिए convenient है।

उदाहरण: Filling Arrays

java
// Import java.util.Arrays so it can be used by its short name
import java.util.Arrays;
// Define the class Main
public class Main {
	// Program entry point: the JVM starts running here
	public static void main(String[] args) {
		// Declare arr and set it to new int[5]
		int[] arr = new int[5];
		Arrays.fill(arr, -1);
		// Print a line to the console
		System.out.println(Arrays.toString(arr));
	}
}

Copying Arrays

Arrays.copyOf() उसी या एक अलग length वाला एक नया array बनाता है, जितने original elements fit हों उतने copy करते हुए और अगर नया array बड़ा हो तो बाकी को default values से padding करते हुए।

यह एक आम तरीका है जिससे Java code एक manual resize implement करता है क्योंकि arrays खुद नहीं बढ़ सकते।

उदाहरण: Copying Arrays

java
// Import java.util.Arrays so it can be used by its short name
import java.util.Arrays;
// Define the class Main
public class Main {
	// Program entry point: the JVM starts running here
	public static void main(String[] args) {
		// Declare original and set it to {1, 2, 3}
		int[] original = {1, 2, 3};
		// Declare copy and set it to Arrays.copyOf(original, 5)
		int[] copy = Arrays.copyOf(original, 5);
		// Print a line to the console
		System.out.println(Arrays.toString(copy));
	}
}
Related Topics
{# common_mistakes/chapter_summary/browser_support: on Hindi pages the view already swaps in the hi_ translation fields (or blanks these out if untranslated), so this renders correctly for both languages without a lang_code check here. #}
आम गलतियां
  1. System.out.println(arr) से एक array सीधे print करना, जो [I@1b6d3586 जैसा कुछ दिखाता है; Arrays.toString(arr) उपयोग करें।
  2. Arrays.binarySearch किसी ऐसे array पर उपयोग करना जो sorted नहीं, जो गलत results देता है।
  3. यह उम्मीद करना कि एक primitive int[] पर Arrays.asList() ints की एक list बनाएगा।
चैप्टर सारांश
  • Methods reusable code package करते हैं, parameters लेते हैं, values return करते हैं, और overloaded, recursive, static, या varargs उपयोग कर सकते हैं।
  • Arrays एक type की कई values store करते हैं, multi-dimensional arrays सहित।
  • Arrays class array data के साथ काम करने के लिए helpful utilities प्रदान करता है।

Login to run this code

C/C++/Java/PHP execution requires a free account. Your code is saved — you'll land right back in the editor after logging in.