전에 파이썬으로 된 딥러닝 예제 코드 살펴보다 보니, 파이썬 함수에서는 형(type)이 다른 데이터를 함수 하나에서 한 번에 리턴할 수 있더군요.
자바에는 그런게 없을까 생각해보니, 자바에서 모든 오브젝트는 Object에서 내려왔으니 함수 리턴 전에 Object 배열에 넣어서 Object 배열로 리턴하면 되는군요.
아래는 예시입니다.
import java.util.ArrayList; import java.util.HashSet; import java.util.TreeMap; public class GetObjArray { public static Object[] getObjArray() { Object[] obj = new Object[3]; ArrayList<Integer> al = new ArrayList<Integer>(); HashSet<Integer> hs = new HashSet<Integer>(); TreeMap<Integer, Double> tm = new TreeMap<Integer,Double>(); for (int i = 0; i < 100; i++) { al.add(i); hs.add(i); tm.put(i, Math.random()); } System.out.println("0번째 키;밸류\t"+tm.keySet().toArray()[0]+";"+tm.get(tm.keySet().toArray()[0])); obj[0] = al; obj[1] = hs; obj[2] = tm; return obj; } public static void main(String[] args) { Object[] obj = getObjArray(); ArrayList<Integer> al = (ArrayList<Integer>) obj[0]; HashSet<Integer> hs = (HashSet<Integer>) obj[1]; TreeMap<Integer, Double> tm = (TreeMap<Integer, Double>) obj[2]; System.out.println(al.size()+"\t"+hs.size()+"\t"+tm.keySet().size()); System.out.println(al.get(0)); System.out.println(hs.toArray()[0]); System.out.println("0번째 키;밸류\t"+tm.keySet().toArray()[0]+";"+tm.get(tm.keySet().toArray()[0])); } }
'노트정리 > 프로그래밍 언어' 카테고리의 다른 글
| 유튜브(youtube)에서 특정 채널 영상 다운로드 (0) | 2020.09.17 |
|---|---|
| KISTI 수퍼컴퓨터에서 MPI를 이용한 Fortran 버전 Hello World 튜토리얼 (0) | 2017.11.19 |
| 나이브 베이지안 자바 구현 + 자바 오브젝트 파일로 쓰고 읽기 (2) | 2017.10.15 |
| 미디어위키로부터 블로그 글로 syntaxhighlight 된 코드 가져다 쓰기 (0) | 2017.10.05 |
| 우분투에서 포트란 95 설치와 컴파일 후 실행 방법 (0) | 2017.10.05 |
| 트위터 메시지를 태그 클라우드(tag cloud, word cloud) 만들기 예제 (0) | 2017.09.26 |
| 자바(Java)에서 HtmlUnit을 이용해 트위터 특정 사용자의 친구 목록 크롤링하는 예제 (0) | 2017.09.16 |
| 자바에서 json 튜토리얼 (1) | 2017.04.05 |


