java中return返回多个值或者多种类型的值的方法(list;Map)
1.在写方法的时候,有时候需要返回多个值,有时候返回的多个值的类型还不同,依据不同情况以下提供了三种方法返回多个值。
2.具体思路都在代码注释里了。如果返回的多个值类型相同,可以用方法一和方法二;如果返回的多个值类型不同,可以用方法三。
初试写作,略感激动。
import java.util.*;
public class Demo {
//方法1:返回list
public static List<int[]> returnList(){
List<int[]> list=new ArrayList<>();
list.add(new int[]{1});
list.add(new int[]{1, 2});
list.add(new int[]{1, 2, 3});
return list;
//方法2:返回Map,一个Map只能有一种数据类型
public static Map<String, Integer> returnMap(){
Map<String,Integer> map = new HashMap<>();
map.put("age",1); //”age“是key,类似于索引,1是索引对应的int值
map.put("high",30);
//System.out.println(map.get("age"));
Map<String,int[]> map1 = new HashMap<>();
map1.put("array", new int[]{1, 2, 3});
//System.out.println(Arrays.toString( map1.get("array") ));
return map;
//方法3:一次性返回两种类型的数据,结合了Map和list
public static List<Map> returnMapList(){
Map<String,Integer> map = new HashMap<>();
map.put("age",1);
map.put("high",30);
Map<String,int[]> map1 = new HashMap<>();
map1.put("array", new int[]{1, 2});
List<Map> listMap = new ArrayList<Map>();
listMap.add(map);
listMap.add(map1);
return listMap;
//测试代码
public static void main(String[] args){
//返回list
List<int[]> list1 = returnList();
System.out.println(Arrays.toString(list1.get(0)) + Arrays.toString(list1.get(1)) + Arrays.toString(list1.get(2)) + "\nreturnlist结束\n");
//返回Map,一个Map只能有一种数据类型
Map<String,Integer> mapTest = returnMap();
System.out.println("age = " + mapTest.get("age") +", high = " + mapTest.get("high") + "\nreturnMap结束\n");
//一次性返回两种类型的数据,结合了Map和list
List<Map> list2 = returnMapList();
System.out.println(list2.get(0) +" , " + list2.get(1) + "\nreturnMapList结束");//list2.get(1)是数组的地址
System.out.print("调用返回的int和int[]:");
Map map0 = list2.get(0);
Map map1 = list2.get(1);
System.out.println( "age = " + map0.get("age") );
System.out.println("array = " + Arrays.toString((int[]) map1.get("array")));
// System.out.println(Arrays.toString((int[]) list2.get(1).get("array"))); //调用过程也可以这样写
java中return多个或者多种类型的值的方法(list;Map)1.在写方法的时候,有时候需要返回多个值,有时候返回的多个值的类型还不同,依据不同情况以下提供了三种方法返回多个值。2.具体思路都在代码注释里了。如果返回的多个值类型相同,可以用方法一和方法二;如果返回的多个值类型不同,可以用方法三。初试写作,略感激动。import java.util.*;public class Demo { //方法1:返回list public static List<i
本身题目难度不大,但是我在想题目要求返回两个值,return只能返回一个值,我该怎么来实现呢?
我想到了一个基本方法,那就是在方法中用数组存储多个值,用过返回数组的方式,来实现题目目的
//编程题2:定义一个数组,数组成员10个(数组自己定义),找出数组中最大数连同下标一起输出。
class zuoye2{
public sta...
Java 在方法中实现两种返回值
这个实现两种返回值是通俗的说法.其中一个方法的返回就是方法的返回值
比如:public String xxxmethod(){}
而第二种方法的返回值就是在形参上面进行返回.
有一个如下方法:
代码如下:
public String AddCicOrg(List<CicOrg> entitys, List<ErrorModel> errorModels) {
参考链接: 用
Java返回多个值
今天在学习
Java,做编程题练练手的时候,看到了这一题。 本身题目难度不大,但是我在想题目要求
返回两个值,
return只能
返回一个
值,我该怎么来实现呢?
我想到了一个基本
方法,那就是在
方法中用数组存储
多个值,用过
返回数组的方式,来实现题目目的 代码: //编程题2:定义一个数组,数组成员10个(数组自己定义),找出数组
中最大数连同下标一起输出。
class zuoye2{
public static void main(String[] args)
本文翻译自:https://www.baeldung.com/java-method-return-multiple-values#:~:text=%20How%20to%20Return%20Multiple%20Values%20From%20a,multiple%20values%20of%20a…%204%20Conclusion%20More%20
文章目录1.概览2.使用数组3.使用collections3.1 用List返回相似类型的值3.2 用Map返回命名值4.使用容器类5.使用元组6.第
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.8.1</version>
</dependency>
2、代码编写加测试
1.return数组或集合。如果只返回2个参数或已确定个数,则返回数组(同一类型使用类型数组,不同类型使用Object[])。参数个数未知时,使用集合。 2.组成一个字符串,使用分隔符分隔。接受后截取或分割。 注:分隔符的话,建议使用诸如逗号(,)之类不常使用的符号,&在java里是运算符。有时会产生不必要的麻烦。看个人喜好。
3.可以传进去一个对象,然后更改其属性值。执行方法后直接访问对象属性
前言:虽然对于这种需求不常用,且比较冷门,但是还是有其存在的价值,再次做一下整理。我们常用的return语句只允许返回单个对象,相对的解决办法就是创建一个对象,用它来持有想要返回的多个对象。
实现这种功能,还要归功于Java1.5的新特性-泛型,我们利用泛型,可以一次性地解决该问题,以后再也不用在这个问题上浪费时间了,并且,我们可以再编译期就能够确保类型安全。
你也许已经想到使用集合可以实现我们的...
Java中不能直接返回两个值,但可以通过以下几种方式实现返回多个值的效果:
1. 利用数组或List:将需要返回的多个值存储在一个数组或List中,然后将该数组或List作为函数的返回值返回。
```java
public static List<Integer> getTwoValues() {
List<Integer> list = new ArrayList<>();
list.add(1);
list.add(2);
return list;
2. 利用Map:将需要返回的多个值存储在一个Map中,然后将该Map作为函数的返回值返回。
```java
public static Map<String, Integer> getTwoValues() {
Map<String, Integer> map = new HashMap<>();
map.put("value1", 1);
map.put("value2", 2);
return map;
3. 利用自定义类:定义一个类来存储需要返回的多个值,然后将该类的实例作为函数的返回值返回。
```java
public class TwoValues {
private int value1;
private int value2;
public TwoValues(int value1, int value2) {
this.value1 = value1;
this.value2 = value2;
public int getValue1() {
return value1;
public int getValue2() {
return value2;
public static TwoValues getTwoValues() {
return new TwoValues(1, 2);