전에 파이썬으로 된 딥러닝 예제 코드 살펴보다 보니, 파이썬 함수에서는 형(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])); } }
'노트정리 > 자바 JAVA' 카테고리의 다른 글
나이브 베이지안 자바 구현 + 자바 오브젝트 파일로 쓰고 읽기 (2) | 2017.10.15 |
---|---|
트위터 메시지를 태그 클라우드(tag cloud, word cloud) 만들기 예제 (0) | 2017.09.26 |
자바(Java)에서 HtmlUnit을 이용해 트위터 특정 사용자의 친구 목록 크롤링하는 예제 (0) | 2017.09.16 |
자바에서 json 튜토리얼 (1) | 2017.04.05 |
자바에서 파일 입출력하는 튜토리얼 (0) | 2017.03.30 |
JDBC 튜토리얼 사이트 소개와 예제 (0) | 2016.10.25 |
이클립스에서 the selection cannot be launched 에러 해결법. (0) | 2015.09.30 |
자바의 배열에서 C, C++과 가장 다른 점 (0) | 2014.02.13 |