Cách trả về một mảng trong Java

Lượt xem

514Câu hỏi phỏng vấn phong cách thiết kế mạng lưới hệ thống hoàn toàn có thể quá mở, đến nỗi quá khó để biết cách chuẩn bị sẵn sàng tương thích. Bây giờ tôi hoàn toàn có thể bẻ khóa những vòng phong cách thiết kế của Amazon, Microsoft và Adobe sau khi mua cuốn sách này. Sửa đổi hàng ngày một câu hỏi phong cách thiết kế và tôi hứa bạn hoàn toàn có thể bẻ khóa phong cách thiết kế .

LinkedIn

Đệm

Reddit

Tumblr

1CHIA SẺTrong những bài viết trước, tất cả chúng ta đã biết cách tất cả chúng ta hoàn toàn có thể trả về một giá trị từ chiêu thức trong Java. Có những trường hợp tất cả chúng ta cần trả về nhiều giá trị hoặc một mảng từ một tính năng. Hướng dẫn này sẽ hướng dẫn bạn cách trả về một mảng trong Java có nhiều kiểu tài liệu khác nhau .

Cách trả về một mảng trong Java

Pin

Trả về một mảng các giá trị số nguyên

Trong chương trình dưới đây, chúng ta sẽ học cách trả về một mảng các giá trị nguyên từ một phương thức trong Java. Chúng tôi có một phương pháp getValues() trả về một mảng các giá trị Số nguyên. Bất cứ khi nào một phương thức trả về một giá trị, định nghĩa phương thức phải có cùng kiểu trả về. Trong trường hợp này, vì nó là một mảng các giá trị nguyên, chúng tôi xác định kiểu trả về là int[]. Trong một phương thức, chúng ta có thể trả về các giá trị bằng cách sử dụng return từ khóa.

Tương tự, từ phương thức gọi, khi chúng ta gọi phương thức, nó cần gán các giá trị cho một mảng. Do đó chúng tôi tuyên bố int[] arrData chấp nhận các giá trị mảng được truyền từ getValues() phương pháp. Bây giờ chúng ta có thể truy cập các giá trị riêng lẻ bằng cách sử dụng chỉ mục mảng trong for loop. Ví dụ này cũng cho thấy cách tính tổng của tất cả các giá trị nguyên mà chúng ta lấy từ một mảng.

public class ReturnArrayInt {

  public static void main(String[] args) {
    int[] arrData = getValues();
    int sum = 0;
    
    System.out.println("Array values:");
    for(int i=0;i
Array values:
10 20 30 40 
Sum of array values: 100

Trả về một mảng các giá trị kép

Chúng ta có thể trả về một mảng bất kỳ loại dữ liệu từ một phương pháp. Đoạn mã dưới đây cho thấy cách trả về một mảng kiểu dữ liệu kép trong Java. Các getWeight() phương thức trả về một mảng các giá trị kép. Trong phương pháp chính, chúng tôi triển khai logic để so sánh và phân loại các giá trị kép của trọng số mảng là “Thiếu cân” hoặc “Cân nặng bình thường” hoặc “Thừa cân”. Chúng ta có thể truy xuất từng giá trị mảng kép bằng cách sử dụng enhanced for loop.

public class ReturnArrayDouble {

  public static void main(String[] args) {
    double[] arrValue = getWeight();
    System.out.println("Array double values:");
    double normalwt = 55;
    double overweight = 80;
    
    for(double d: arrValue) {
      if(d < normalwt)
        System.out.println(d + " : Underweight");
      else if(d > normalwt && d < overweight)
        System.out.println(d + " : Normal weight");
      else
        System.out.println(d + " : Overweight");
    }
  }
  
  public static double[] getWeight() {
    double[] arrWt = {34.5,55.6,80.4,25.5};
    return arrWt;
  }

}
Array double values:
34.5 : Low weight
55.6 : Normal weight
80.4 : Over weight
25.5 : Low weight

Trả về một mảng các giá trị Chuỗi

Đoạn mã dưới đây cho thấy cách trả về một mảng những giá trị Chuỗi từ một chiêu thức trong Java .

public class ReturnArrString {

  public static void main(String[] args) {
    String[] arrValues = getNames();
    System.out.println("Array String values:");
    
    for(String names: arrValues)
      System.out.println(names);

  }
  
  public static String[] getNames() {
    String[] arrNames = {"Hari","Dev","Jay","Kumar","Raju"};
    return arrNames;
    }

}
Array String values:
Hari
Dev
Jay
Kumar
Raju

Trả về một mảng đối tượng

Ví dụ dưới đây cho thấy cách trả về một mảng đối tượng từ một phương thức trong Java. Chúng tôi tạo ra một lớp học Employee có một hàm tạo để khởi tạo empNameempId các giá trị. Từ lớp học chính, chúng tôi có một getEmployees() trong đó chúng ta tạo 2 đối tượng Employee và trả về mảng Employee các đối tượng. Do đó, định nghĩa phương thức cũng phải có kiểu trả về là Employee mảng. Từ phương thức chính, chúng ta có thể truy xuất empNameempId các giá trị bằng cách sử dụng đối tượng Employee trong một enhanced for loop.

class Employee {
  String empName;
  int empId;
  
  Employee(String empName, int empId){
    this.empName = empName;
    this.empId = empId;
  }
}

public class ReturnArrayObj {

  public static void main(String[] args) {
    Employee[] arrNames = getEmployees();
    
    for(Employee e : arrNames)
      System.out.println("EmpName: " + e.empName + " EmpID: " + e.empId);

  }
  
  public static Employee[] getEmployees() {
    Employee[] arrEmp = new Employee[2];
    arrEmp[0] = new Employee("Rohit",345123);
    arrEmp[1] = new Employee("Vishal",556998);
    
    return arrEmp;
  }

}
EmpName: Rohit EmpID: 345123
EmpName: Vishal EmpID: 556998

Trả về một mảng và chuyển một mảng làm đối số

Cũng có thể truyền một mảng làm đối số cho một phương thức và trả về một mảng Chuỗi giá trị từ một phương thức trong Java. Phương pháp sortNames() chứa một mảng giá trị Chuỗi làm đối số và cũng trả về một mảng giá trị Chuỗi. Phương thức này sắp xếp các Tên theo thứ tự tăng dần và trả về một mảng các giá trị Chuỗi theo thứ tự tăng dần.

import java.util.Arrays;

public class ReturnArrString {

  public static void main(String[] args) {
    String[] arrNames = {"Hari","Dev","Raju","Jay"};
    String[] arrValues = sortNames(arrNames);
    System.out.println("Sorted Array String values:");
    
    for(String names: arrValues)
      System.out.println(names);

  }
  
  public static String[] sortNames(String[] arrNames) {
    String temp;
    int len = arrNames.length;
    
    for(int i=0;i 0){
          temp = arrNames[i];
          arrNames[i] = arrNames[j];
          arrNames[j] = temp;
        }
      }
    }
    return arrNames;
    }

}
Sorted Array String values:
Dev
Hari
Jay
Raju

Trả về một mảng 2D từ một phương thức

Pin

Mảng 2 chiều bao gồm 2 hàng và 2 cột. Ví dụ dưới đây cho thấy cách trả về mảng 2D từ một phương thức trong Java. Lớp createArray chứa một phương pháp ArrayCreation() điều đó tạo ra một mảng 2-d và trả về một mảng 2D.

public class Return2DArray {

  public static void main(String[] args) {
    createArray c = new createArray();
    int[][] arrData = c.ArrayCreation();
    System.out.println("Array values");

    for(int i=0;i<2;i++) {
      for(int j=0;j<2;j++)
        System.out.print(arrData[i][j] + " ");
      System.out.println();
    }
  }

}

class createArray {
  public int[][] ArrayCreation(){
    int[][] a = new int[2][2];
    for(int i=0;i<2;i++) {
      for(int j=0;j<2;j++) {
        a[i][j] = i+1;
      }
    }
    return a;
  }
  
}
Array values
1 1 
2 2 

Trả về một mảng 3D từ một phương thức

Pin

Chúng ta cũng hoàn toàn có thể trả về mảng 3 chiều từ một phương pháp trong Java chứa 3 hàng và 3 cột. Ví dụ dưới đây minh họa tương tự như .

public class Return3DArray {

  public static void main(String[] args) {
    createArray c = new createArray();
    int[][] arrData = c.ArrayCreation();
    System.out.println("Array values");

    for(int i=0;i<3;i++) {
      for(int j=0;j<3;j++)
        System.out.print(arrData[i][j] + " ");
      System.out.println();
    }
  }

}

class createArray {
  public int[][] ArrayCreation(){
    int[][] a = new int[3][3];
    for(int i=0;i<3;i++) {
      for(int j=0;j<3;j++) {
        a[i][j] = i+1;
      }
    }
    return a;
  }
  
}
Array values
1 1 1 
2 2 2 
3 3 3 

Tài liệu tìm hiểu thêm

LinkedIn

Đệm

Reddit

Tumblr

1CHIA SẺ