Блог пользователя rawbear1826

Автор rawbear1826, история, 7 лет назад, По-английски

java stream API is really cool addition to the java language (if you are a c++ hardcore fan please pass on this post :) ) i have tried to solve this problem and i tried multiple submission just to try out java stream API ... that submission was successful but this one wasn't and the only change is return a.parallelStream().allMatch(e -> e == a.get(0)); which was resulted in failure ... can anyone explain why e == a.get(0) didn't work but int c = a.get(0) and e == c did work ?

  • Проголосовать: нравится
  • +2
  • Проголосовать: не нравится

»
7 лет назад, # |
  Проголосовать: нравится +6 Проголосовать: не нравится

It's because in java Integer is a reference data type and comparing reference datatypes using == operator does not give the same result every time.

Your code with a small change.

»
7 лет назад, # |
Rev. 2   Проголосовать: нравится +5 Проголосовать: не нравится

One more thing: parallelStream() is pretty useless on Codeforces and other online judges (and it should be less efficient than the regular stream() if you are not able to run things in parallel).

»
7 лет назад, # |
  Проголосовать: нравится -13 Проголосовать: не нравится

Same result in c++:

return set<int>(all(a)).size()