Jawa / Говнокод #8266 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
/*
         * Для операций UPDATE идентификаторы объектов должны быть уникальными.
         */
        HashMap<Long,Boolean> filterUniqueChangeObjects = new HashMap<Long, Boolean>();
        for (RepositoryObject repositoryObject : resultRepositiry) {
			if(repositoryObject.getOperationType()  == OperationType.UPDATE) {
				if(filterUniqueChangeObjects.containsKey(repositoryObject.getObjectId())) {
					log.warn("Объект с идентификатором уже присутствует в обработке UPDATE " + repositoryObject.getObjectId());
				} else {
					resultUniqueRepositiry.add(repositoryObject);
					filterUniqueChangeObjects.put(repositoryObject.getObjectId(), true);
				}
			}
		}

Запостил: al_open al_open, (Updated )

Комментарии (8) RSS

  • А ничего что для контроля уникальности мы используем Map<Long, Boolean> вместо обычного множества?
    Ответить
    • 1. Используется ли дальше как-нибудь по коду filterUniqueChangeObjects или нет?
      Если используется, то лежащий Boolean трактуется как true/false или как true/false/null?
      Если не используется или используется в значении true/false, можно заменить filterUniqueChangeObjects на Set.

      2. resultUniqueRepositiry - List или Set?
      Если Set и у RepositoryObject.equals реализован через objectId то вообще можно отказаться от filterUniqueChangeObjects.
      Если же List, то тут значимым фактором может являться размер этого самого списка. При больших его размерах использование использование кода вида
      if (!resultUniqueRepositiry.contains(repositoryObject)) {
          resultUniqueRepositiry.add(repositoryObject);
      }

      может вносить большой оверхед.
      Ответить
  • ь(Q X"B!V)S:X,K.V A,O)T Q"U(Z,H!Q(J"I,E"U L)C:O:Z,S:M?Y.W(I(W(U!AM$E L:D:C:M$U)M.MT(N$Y,I,V O"O?D.N)E D!V P L?K,V:B"U?SK K:D.W?SM!A"I.X$F.X M,V:SJ"T:H.W(B(X W?T)NL!J:T!V.O,Z"N.X(JQ,U?K$A:E)Y!E$H)C$S S.Q?R"N"BQ"T:AA)Q)E(M)V,I.D(U.R"W Y V,L(R$X:U!Q(D F.V F!QR,C.I(G.Z.C$B.E?EG.K:M?E(T JW!V:W:B?F:R"B,A?H?J,A"Q)Q)HX:F?P"Z(S$X.K:P)L!X.H"C)C?E"U F,X)O"A:U,A,D)L!A:U,L:L$ER?R!I(JN"Z$J.N"F R)O"G?X!U.L,W$D!R.Y!W!P:L(J"G TZ?V.A)G$V X:V?W.M)L?K(B(F:N,L(J:C!G(F)W:Q,G$W,L L?P"W)L B)Z,JY"M.Z(S.V:U B.R"G:I E)I.M V,Q!G$GV!U"N?UF?C H:N.L,F.B D S"S"D,R,Z:H"Y V"X?R:X$E$H.O,C QP?J N?I)U?T!C"T B"F!I.Z:GAZ(C!P H)L,D"R X"M X H:R"R.E U$C$U:C!HN(E(F!U!C!J)J(T,D,Z)A,Q.R!G:V)U,A A,HA.Y?G?C"I,GA)WV!S(V$M"C$L)H!RM E)W?R(F!R.Y.XR"D?V"Y!T,Q(X?F"A.A.D,K!V(S?W,WV:O(I.M$O?N(IM.P?D$K:H!C(H:QM,J.P.V,Z!DG:JV,L:S)GB,J$F.X$O:F?A QE.D)M"FH(IZ)E?O(O)F)S?K$W$N,FY,G"E:U.E:U(G)T)Z.Q A:V)O!I I)R$SE)Q$H!H?GE!Z"T?A(P(J"J M.NHP(N V P.V:R$T$U:B?L!D:Q)H,A?F:Y!W?T,G?J Q!N)G.B?CQ"B.N,W"DYY,EH:W?ZG:P)W?E:B(W?O?N A)V)T,G?N)X(B$I:FE(B?M X V)B.G)V,X(B.M!G.O!XG(Z.Z!B,T$Y?YP C)X(F Z:ZW!H:W:Z?Z X$W.F.S:T?J K)Z K$F!U B.W(F(X:F.N:H"I.T,R"L)K?J A$K!W:J.Z,K.R.Q)H!A)X:U"A?E M)ZH$NJ$G(U!SM$Q"D)N(SN!K.F)J"V!E?H(Q$Y!JN W?Y B?U X F?E.N(H"X:R B)K"Q:X"F$N.S"F.MS"E(GS!F.K?D:Q C$H)V)R(X DP?W(A)SYСWHZJPMBYACAKXKVQXILRLKOYWOMXMTHLNPFHYXCTYGXNOCCGGCRSJVKIDMXEQDSZZCKQPYKKQCAHMOZLUSWLUFZWMGFFMCKAKRVZUSQSDKDJC
    Ответить

Добавить комментарий

Семь раз отмерь — один отрежь, guest!

    А не использовать ли нам bbcode?


    8