일부 코드를보고 있는데, ArrayLists라는이 문제를 발견했습니다. 정규리스트에 반대하는 ArrayLists 사용의 요지는 정확히 무엇입니까? 코드를 보면 메소드 이름 앞에 <T> ArrayList<T>
이 있습니다. 이것들은 ArrayLists
이니? 그리고 왜 <T>
? 정확히 일반 목록에 반대로 ArrayLists를 사용하는 점은 무엇ArrayList의 요점은 무엇입니까?
class MergeAlgorithm{
//ArrayLists
<T> ArrayList<T> merge(ArrayList<T> list1, ArrayList<T> list2,
Comparator<T> comp, ArrayList<T> acc){
if(list1.isEmpty())
return append(acc, list2);
else if(list2.isEmpty())
return append(acc, list1);
else if(comp.compare(list1.get(0), list2.get(0)) <= 0){
acc.add(list1.get(0));
list1.remove(0);
return merge(list1, list2, comp, acc);
}
else{
acc.add(list2.get(0));
list2.remove(0);
return merge(list1, list2, comp, acc);
}
}
<T> ArrayList<T> append(ArrayList<T> list1, ArrayList<T> list2){
for (T t: list2){
list1.add(t);
}
return list1;
}
}
class CharComp implements Comparator<Character>{
public int compare(Character c1, Character c2){
return c1.compareTo(c2);
}
}
'ArrayList'는 단지'List' 인터페이스의 구현입니다; (목록 list = new ArrayList <>();') –
fge
Java generics에 대해 알아야합니다. 당신은을 가지므로 강력한 타입 검사를 가진 어떤 종류의 객체라도리스트를 가질 수 있습니다. –
duffymo