출처:
http://stackoverflow.com/questions/156275/what-is-the-equivalent-of-the-c-pairl-r-in-java
요약: Pair라는 것은 어떠한 자료의 추상적인 형태만을 나타내는 것이지, 실제데이터의 "의미"를 전달하는 명칭이 아니므로
(예를 들면 Pair의 first나 second가 의미하는것은 실제 데이터와 관계가 없다라는 것. 코딩할 때 변수명을 a, b 같은 것들로 사용하지 말라는 것과 같은 맥락)
Pair를 사용하는 것보다, 실제 데이터의 "의미"를 전달 할 수 있는 Entry나 Position이나 Range 등을 사용하는 것이 올바르기 때문이다.
In this thread on comp.lang.java.help
, Hunter Gratzner gives some arguments against the presence of a Pair
construct in Java. The main argument is that a class Pair
doesn't convey any semantics about the relationship between the two values (how do you know what "first" and "second" mean ?).
A better practice is to write a very simple class, like the one Mike proposed, for each application you would have made of the Pair
class. Map.Entry
is an example of a pair that carry its meaning in its name.
To sum up, in my opinion it is better to have a class Position(x,y)
, a class Range(begin,end)
and a class Entry(key,value)
rather than a generic Pair(first,second)
that doesn't tell me anything about what it's supposed to do.
'Archive' 카테고리의 다른 글
PriorityQueue를 적재적소에 사용하자 (0) | 2012.03.27 |
---|---|
Java에서 File IO할 때의 try-catch-finally 스타일 (0) | 2012.03.27 |
파일로 data를 쓸 때 주의해야 할 점과 그에 대한 오해 (flush and close) (0) | 2012.03.27 |
최근에 본 명언 중에 가장 기억에 남는 명언 (0) | 2012.03.19 |
프로그래머 점수표입니다. 스스로 냉정하게 평가해 볼 수 있는 좋은 기회! (0) | 2012.03.08 |