List 인터페이스는 Collection 인터페이스를 상속하고 단일 열 컬렉션에 속합니다. List 컬렉션에서는 중복 요소가 허용되며 모든 요소는 선형 방식으로 저장되며 컬렉션의 요소는 다음을 통해 액세스됩니다. 요소는 순차적으로 저장됩니다. 즉, 요소가 저장되는 순서는 요소가 검색되는 순서와 일치합니다.
ArrayList는 ArrayList 내부에 가변 길이 배열 객체를 캡슐화하는 List 인터페이스의 구현 클래스입니다.
package 集合类; import java.util.ArrayList; import java.util.Arrays; public class FengZhuanglei { public static void main(String[] args) { ArrayList list=new ArrayList(); list.add("stu1"); list.add("stu2"); list.add("stu3"); list.add("stu4"); System.out.println("集合的长度:"+list.size()); System.out.println("第二个元素是:"+list.get(1)); } }
실행 결과
실행 결과를 보면 ArrayList와 배열 인덱스가 모두 0부터 시작하는 것을 알 수 있습니다. ArrayList 컬렉션의 최하위 레이어는 배열을 사용하여 요소를 저장하기 때문에 지정된 위치에 요소를 추가하거나 삭제할 때 , , 는 새로운 배열을 생성하게 되는데, 이는 상대적으로 비효율적이므로 대량의 추가 및 삭제에는 적합하지 않습니다. 그러나 인덱싱을 통해 요소를 찾을 수 있으므로 요소 찾기의 효율성도 높아집니다.
ArrayList 컬렉션의 요소 추가 및 삭제 효율성이 낮은 문제를 해결하기 위해 LinkList 컬렉션의 각 요소는 양방향 순환 연결 목록으로 유지됩니다. 목록은 참조로 기억되며, 이전 요소와 다음 요소는 모든 요소를 연결할 수 있습니다. 새 요소를 삽입할 때 요소 간의 참조 관계만 수정하면 요소 추가 및 삭제의 효율성이 높아집니다.
package 集合类; import java.util.LinkedList; public class LianBiao { public static void main(String[] args) { LinkedList link =new LinkedList(); link.add("stu1"); link.add("stu2"); link.add("stu3"); link.add("stu4"); //打印集合中的元素 System.out.println(link.toString()); //在集合中插入元素 link.add(3,"Student"); //在集合的第一个位置插入元素 link.addFirst("李龙"); System.out.println(link); //取出集合中的第一个元素 System.out.println(link.getFirst()); //删除集合中的元素 link.remove(3); //删除集合中的第一个元素 link.removeFirst(); System.out.println(link); } }
실행 결과
Iterator는 주로 Collection의 요소를 순회하는 데 사용됩니다. Iterator라고도 합니다.
package 集合类; import java.util.ArrayList; import java.util.Iterator; public class DieDai { public static void main(String[] args) { ArrayList list=new ArrayList(); list.add("好好学习"); list.add("做一个优秀的共产主义接班人"); list.add("为人民服务"); list.add("做一个对社会有用的人"); Iterator it= list.iterator(); //判断ArrayList是否存在下一个元素 while(it.hasNext()){ Object obj=it.next(); System.out.println(obj); } } }
실행 결과
Iterator 순회 과정에서 먼저 hasNext() 메서드를 사용하여 컬렉션에 다음 요소가 아직 있는지 확인합니다. 요소가 있으면 next() 메서드를 사용합니다. 요소를 제거하십시오.
for 루프를 강화하세요. foreach 루프는 루프의 길이를 얻을 필요가 없으며 인덱스를 통해 루프의 요소에 액세스할 필요도 없습니다. foreach는 루프의 각 요소를 자동으로 순회합니다.
package 集合类; import java.util.ArrayList; public class FE { public static void main(String[] args) { ArrayList list=new ArrayList(); list.add("hello"); list.add("world"); for(Object obj: list){ System.out.println(obj); } } }
실행 결과
컬렉션을 순회하는 과정에서 향상된 for 루프가 매우 편리하다는 것을 알 수 있습니다. 루프 조건도 없고 반복 횟수도 요소 수에 따라 결정됩니다. 반복할 때마다 향상된 for 루프는 변수를 통해 현재 루프의 요소를 기억하므로 컬렉션의 요소를 별도로 인쇄합니다.
위 내용은 Java List 인터페이스, Iterator 인터페이스 및 foreach 루프를 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!