我可以使用哈希表作为函数的返回值吗?



我有一个遍历不同文件内容的循环,并且我正在创建一个我想为所有这些文件使用的散列表(作为连续性)。我想使用一个函数并将哈希表作为参数发送,并将其用作返回值。

public static *** function1(*** hashtable)
{
/*
...
*/
return hashtable;
}
如果我的解释不够清楚,我很抱歉。但我的问题是,如果可行的话,我应该写什么?

我可以使用哈希表作为函数的返回值吗?

是的。

你可以定义你的方法来返回你想要的任何类型对象的引用。如果您愿意,该引用可以指向Hashtable的实例。

参见Oracle免费提供的Java教程:从方法返回值

对于Hashtable,该类在几十年前就被Map的其他实现(如HashMapConcurrentHashMap)所取代。该类的Javadoc解释了。

在Java中,函数被称为"方法"。

下面是一个返回Map的方法示例。在您的引导下,我们在一个名为App的类上定义了一个static方法。顺便说一下,要注意static的意思是"不是面向对象的"。

注意尖括号(<&>)来指定映射键的类型和映射值的类型。然后编译器可以强制类型安全。这里我们指定每个键必须是对String实例的引用,每个值必须是对java.time.DayOfWeek枚举对象的引用。

在本例中,我们使用Map.of在使用字面量语法的同时,生成一个未指定的具体类的不可修改的Map对象。

public static Map < String, DayOfWeek > fetchEmployeeToDayOfWeekMap ( )
{
return
Map.of(
"Alice" , DayOfWeek.TUESDAY ,  // key , value ,
"Bob" , DayOfWeek.MONDAY ,     // key , value ,
"Carol" , DayOfWeek.TUESDAY    // key , value 
);
}

调用方法的例子。

Map < String, DayOfWeek > empToDayMap = App.fetchEmployeeToDayOfWeekMap();

生成表示该地图内容的文本。

System.out.println( "empToDayMap.toString() = " + empToDayMap );

empToDayMap.toString() = {Alice=TUESDAY, Bob=MONDAY, Carol=TUESDAY}

最新更新