2012-03-11 14 views
1

Java演算子<< =を誰が説明できますか? ;</p> <p>一方(容量< InitialCapacityの値) 容量= 1 < <:ジャワのHashMapのソースコードに見て、私は以下のいくつかのコードを参照

私はオペレータ< = < =に関するドキュメントをGoogle経由で見つけることができません。オペレータはJavaで< <です。 ヘルプがありますか?

+1

ベストアンサーの横にあるチェックマークを選択して回答を受け入れる必要があります。私はこれがBinyamin Sharetのあなたの反応に基づいていると思います。 –

答えて

8

これは、それがほとんど同じである、左シフトの割り当てです:

capacity = capacity << 1; 

+=/-= /などのような)

+0

うわー、C++のように、ありがとう –

3

それは+=のようなものと同じ考えです、それはシフトおよび譲受人。

例では、capacityは、initialCapacityに達するまで、1だけ左シフトされて割り当てられます。それはoperators pageにあります。

3
a <<= b 

は左シフトのショートカットです。だから、ラインcapacity <<= 1はちょうど「ビット単位が1で左capacityに値をシフトする」という意味

a = a << b; 

:それはほぼ同等です。

3

「左シフト等しい」(< <は=)2

によってすべてが同じ結果を生成以下を乗算するために使用される技術です。

while (capacity < initialCapacity) { capacity <<= 1; } 

while (capacity < initialCapacity) { capacity = capacity * 2; } 

while (capacity < initialCapacity) { capacity *= 2; } 
関連する問題