자바 모듈 Tuple 사용 실례
6610 단어 자바
1. 왜 원조 tuple 을 사용 합 니까?
원본 그룹 은 목록 list 와 마찬가지 로 데이터 저장 에 사용 할 수 있 으 며 여러 데 이 터 를 포함 할 수 있 습 니 다.그러나 목록 과 다른 것 은 목록 은 같은 데이터 형식 만 저장 할 수 있 고 원본 그룹 은 다 르 기 때문에 서로 다른 데이터 형식 을 저장 할 수 있 습 니 다. 예 를 들 어 int, string, list 등 을 동시에 저장 하고 수요 에 따라 무한 확장 할 수 있 습 니 다.
예 를 들 어 웹 응용 에서 자주 발생 하 는 문 제 는 바로 데이터 페이지 문제 이다. 페이지 를 조회 하려 면 몇 가지 정 보 를 포함해 야 한다. 현재 페이지 수, 페이지 크기.조회 결 과 는 현재 페이지 의 데이터 기록 으로 되 돌아 갑 니 다. 그러나 프론트 데스크 에 현재 페이지, 페이지 크기, 총 페이지 수 등 정 보 를 표시 하려 면 반드시 다른 정보 가 있어 야 합 니 다. 바로 데이터 가 총 수 를 기록 한 다음 에 위의 정보 에 따라 총 페이지 수 등 정 보 를 계산 해 야 합 니 다.이 때 한 페이지 의 정 보 를 조회 할 때 두 개의 데이터 형식 을 되 돌려 야 합 니 다. 하 나 는 list (현재 의 데이터 기록) 이 고 하 나 는 int (기록 총수) 입 니 다.물론 두 가지 방법, 두 번 의 데이터베이스 연결 에서 이 두 가지 값 을 충분히 얻 을 수 있다.사실 list 를 조회 할 때 sql 조 회 를 통 해 총 기록 수 를 얻 었 습 니 다. 만약 에 하나의 방법 을 다시 열 면 데이터 베이스 연결 을 통 해 총 기록 수 를 조회 할 수 있 습 니 다. 쓸데없는 행동, 시간 낭비, 코드 낭비, 생명 낭비 가 불가피 합 니 다.말 이 무 겁 습 니 다 ~ 이런 상황 에서 우 리 는 이원 조 를 이용 하여 한 번 의 데이터 베이스 연결 에서 총 기록 수, 현재 페이지 기록 을 얻 고 그 안에 저장 할 수 있 습 니 다. 간단명료 합 니 다!
2. 소스 코드 인 스 턴 스
이원 그룹:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
/** <p>Title: TwoTuple</p>
* <p>Description: , </p>
* @author [email protected]
* @site http://wzwahl36.net
* @version 2012-3-21 11:15:03
* @param <A>
* @param <B>
*/
public
class
TwoTuple<A, B> {
public
final
A first;
public
final
B second;
public
TwoTuple(A a, B b) {
this
.first = a;
this
.second = b;
}
}
3 원 그룹 으로 확장 (이것 을 누 르 면 임의로 확장 할 수 있 습 니 다)1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
/**
* <p>Title: ThreeTuple</p>
* <p>Description: , </p>
* @author [email protected]
* @site http://wzwahl36.net
* @version 2012-3-21 11:15:50
* @param <A>
* @param <B>
* @param <C>
*/
public
class
ThreeTuple<A, B, C>
extends
TwoTuple<A, B> {
public
final
C third;
public
ThreeTuple(A a, B b, C c) {
super
(a, b);
this
.third = c;
}
}
모듈 작업 도구 클래스, 테스트 클래스 (필요 에 따라 사용자 정의 가능)1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
import
java.util.ArrayList;
import
java.util.List;
import
com.bluesea.bean.GoodsBean;
/**
* <p>Title: TupleUtil</p>
* <p>Description:
* , , ,
* (List ), (Integer ),
* action
* , ,
* </p>
* @author [email protected]
* @site http://wzwahl36.net
* @version 2012-3-21 09:59:39
* @param <A>
* @param <B>
*/
public
class
TupleUtil {
public
static
<A, B> TwoTuple<A, B> tuple(A a, B b) {
return
new
TwoTuple<A, B>(a, b);
}
public
static
<A, B, C> ThreeTuple<A, B, C> tuple(A a, B b, C c) {
return
new
ThreeTuple<A, B, C>(a, b, c);
}
//
public
static
void
main(String[] args) {
List<GoodsBean> goodsBeans =
new
ArrayList<GoodsBean>();
for
(
int
i =
1
; i <
26
; i++) {
GoodsBean goodsBean =
new
GoodsBean();
goodsBean.setGoodsId(i);
goodsBeans.add(goodsBean);
}
Integer totalProperty =
47
;
// TupleUtil<List<GoodsBean>, Integer> tupleUtil = new TupleUtil<List<GoodsBean>, Integer>(goodsBeans, totalProperty);
TwoTuple<List<GoodsBean>, Integer> twoTuple = TupleUtil.tuple(goodsBeans, totalProperty);
List<GoodsBean> list = twoTuple.first;
System.out.println(list);
System.out.println(twoTuple.second);
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Is Eclipse IDE dying?In 2014 the Eclipse IDE is the leading development environment for Java with a market share of approximately 65%. but ac...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.