2011-09-25 36 views
2

我想知道是否有一種方法可以做到以下,而無需編寫的函數或一個for循環:你可以像Matlab一樣在Java中的數組上操作嗎?

int[] ma = (3,4,4,5,6,7); 
ma += 5; 

因此,將5與陣列中的所有元件。 Matlab允許這樣一個方便的捷徑。

+0

在C#中,您可以重載操作符並因此擁有這樣的語法,我正在廣泛使用此功能。在C#中'''x + y + z'會在Java中'a.Add(b.Add(c))' – Mikhail

回答

3

簡答:不,你不能。你需要編寫一個循環來完成它。

1

總之:沒有。 Java沒有那樣的操作。但沒有什麼可以阻止你編寫一個方法add(),該方法需要一個數組和一個int,並將int添加到數組中的每個元素。寫subtract(),multiply()等,你會有一個很好的小庫供你自己使用。

1

如果你需要這個很多的Scala可能是一個選項。 Scala也運行在JVM上,並具有摺疊之類的東西,它們允許您使用很少的代碼來定義這些類型的東西。

但是,它是一種功能性語言,與傳統的(迭代)編程相比,它需要不同的思維方式。

+0

我不確定爲什麼會有人需要這樣的東西。它只是語法上的糖;你總是可以寫一個循環或一個新的方法來做同樣的事情。 –

-2

Java提供了許多集合類,其功能類似於Matlab爲數組提供的功能。最接近的匹配是java.util.ArrayList,它由一個數組支持。您可以使用add()方法將項目追加到集合中,而不是+=運算符。 ArrayList導出一些接口,使其與其他java包中的許多方法和類兼容。

+0

我看不出這是如何相關的。 –

+0

不好的答案,你不明白的問題。 –

相關問題