如果我有例如int size
并且包含例如列表的大小,那么进行int distance
操作mod
iedistance%size
是(-size - 1) <= distance <= (size - 1)
即距离永远在这个范围内(-size - 1) <= distance <= (size - 1)
如果我对此是正确的,那么在 JDK 中的 CollectionsRotate 中进行以下条件检查的含义是什么?
if (size == 0)
return;
distance = distance % size;
if (distance < 0)
distance += size;
if (distance == 0) //Why this check????
return;
我在这里可能是错误的或生疏的,但我认为distance
此时不会因为添加而为空。如果列表是0
我们一开始就不会达到那个条件。
那么需要这个条件检查吗?