Heim > Java > javaLernprogramm > Hauptteil

Java-Sammlungsmethoden zur Implementierung der Klassen ArrayList und LinkedList

黄舟
Freigeben: 2017-10-20 10:07:51
Original
2444 Leute haben es durchsucht

Der folgende Editor bringt Ihnen einen Artikel über die Implementierung der Java-Sammlungsklassen ArrayList und LinkedList. Der Herausgeber findet es ziemlich gut, deshalb werde ich es jetzt mit Ihnen teilen und es allen als Referenz geben. Folgen wir dem Editor und werfen wir einen Blick darauf

Methodenliste auflisten

方法名 功能说明
ArrayList() 构造方法,用于创建一个空的数组列表
add(E e) 将指定的元素添加到此列表的尾部
get(int index) 返回此列表中指定位置上的元素
size() 返回此列表中的元素数
clear() 移除此列表中的所有元素
isEmpty() 如果此列表中没有元素,则返回true
remove(int index) 移除此列表中指定位置上的元素
indextof(Object o) 返回此列表中首次出现的指定元素的索引,或如果此列表不包含元素,则返回-1
toArray 按适当顺序(从第一个到最后一个元素)返回包含此列表中所有元素的数组

Ein einfaches Beispiel wird zur Veranschaulichung verwendet:

Implementiert die Klasse ArrayList


package yjlblog;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

public class Test {
 
 public static void main(String[] args) {
  List list = new ArrayList();//List 是接口,用多态需要指向它的实现类
  list.add("double kill");
  list.add("three kill");
  list.add("four kill");
  list.add("pentakill");
  System.out.println(list); //[double kill, three kill, four kill, pentakill]
        //默认调用的是tostring 方法,但是这个头string方法不是object里面的,可以查帮助文档可知,是继承的collection的一个方法
  System.out.println(list.get(2)); //four kill
  String s = (String)list.get(2);//如果用定义变量的形式来表示的话,需要用到强制类型的转换,因为list。get()方法是object的类里的
  System.out.println(list.isEmpty());
  //false
  //list.clear();
  //System.out.println(list.isEmpty());
  //true
  //System.out.println(list.remove(2));//输出制定索引的 被“删除的元素”
  list.remove(1);//删除索引为“1” 的元素
  System.out.println(list);//[double kill, four kill, pentakill],删除了索引为“1”的元素
  System.out.println(list.indexOf("double kill"));//0 输出所指明字符串的 “索引值”

  System.out.println(list.size());// 3 ,返回数组的长度
  
  Object[] obj = list.toArray();
  System.out.println(obj.length);
  //数组的遍历 for 循环
  for (int i = 0;i < list.size();i++)
  {
   System.out.print(list.get(i)+" ");
   
  }
  System.out.println();
  //使用for each 语句
  for (Object x:list)
  {
   System.out.print(x+" ");
  }
  System.out.println();
  //使用迭代器
  //1.先获得list集合的迭代器
  Iterator iterator = list.iterator();
  //2.通过它的hasNest方法,判断是否遍历完成,用循环实现
  while (iterator.hasNext() == true)
  {
  //3.使用next方法,去除它的下一个元素
   System.out.print(iterator.next()+" ");
   
  }
  System.out.println();
   
  
  
 }

}
//再写上迭代器的说明
//加上arraylist 和 linbkedlist的区别 和代码
//加上后面的几个方法
Nach dem Login kopieren

Implementiert die Klasse LinkedList

Eine verknüpfte Listenimplementierung der List-Schnittstelle, die alle optionalen Listenoperationen implementiert und alle Elemente (einschließlich Null) zulässt. Zusätzlich zur Implementierung der List-Schnittstelle bietet die LinkedList-Klasse auch eine einheitliche Benennungsmethode für Elemente zum Abrufen, Entfernen und Einfügen am Anfang und Ende der Liste. Diese Operationen ermöglichen die Verwendung der verknüpften Liste als Stapel, Warteschlange oder Deque.

Einige Methoden von LinkedList

< td> addLast(E e)< tr class="odd">< td align="center">
package yjlblog;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

public class Test {
 
 public static void main(String[] args) {
  List list = new LinkedList();//List 是接口,用多态需要指向它的实现类
  list.add("double kill");
  list.add("three kill");
  list.add("four kill");
  list.add("pentakill");
  System.out.println(list); //[double kill, three kill, four kill, pentakill]
  //和ArrayList 的其他方法都是一样的,只是加了一些方法
Nach dem Login kopieren
MethodennameFunktionsbeschreibung
方法名功能说明
addFirst(E e)将指定元素插入此列表的开头
addLast(E e)将指定元素添加到此列表的结尾
removeFirst()移除并返回此列表的第一个元素
removeLast()移除并返回此列表的最后一个元素
getFirst()返回此列表中的第一个元素
getLast()返回此列表中的最后一个元素
addFirst(E e) Fügt das angegebene Element am Anfang dieser Liste ein

Fügt das angegebene Element am Ende dieser Liste hinzu
removeFirst()Entfernt das erste Element dieser Liste und gibt es zurück

removeLast()Letztes Element dieser Liste entfernen und zurückgeben
getFirst()Gibt den ersten in dieser Liste zurück Ein Element

getLast()Das letzte Element in dieser Liste zurückgeben

Durchlaufen von Sammlungen

Es wird auch im obigen Beispiel erwähnt, schauen Sie sich den Code unten an

For-Schleife verwenden

Verwenden Sie die for-each-Schleife

Verwenden Sie die Iterator-Schnittstelle

Jede Sammlungsklasse bietet eine Iteratormethode, um einen Iterator zurückzugeben. Über diesen Iterator können Sie den Durchlauf- oder Löschvorgang abschließen Die Schritte zur Verwendung des Iterators lauten wie folgt:

****

1 Erhalten Sie den Iterator der Sammlung über die Iterator-Methode

2 Rufen Sie die Methode hasNext auf, um festzustellen, ob das nächste Element vorhanden ist
//数组的遍历 for 循环
for (int i = 0;i < list.size();i++)
{
 System.out.print(list.get(i)+" ");
 
}
System.out.println();
//使用for each 语句
for (Object x:list)
{
 System.out.print(x+" ");
}
System.out.println();
//使用迭代器
//1.先获得list集合的迭代器
Iterator iterator = list.iterator();
//2.通过它的hasNest方法,判断是否遍历完成,用循环实现
while (iterator.hasNext() == true)
{
//3.使用next方法,去除它的下一个元素
 System.out.print(iterator.next()+" ");
 
}
System.out.println();
Nach dem Login kopieren
3. Verwenden Sie die Methode next, um das nächste Element zu entfernen

Das obige ist der detaillierte Inhalt vonJava-Sammlungsmethoden zur Implementierung der Klassen ArrayList und LinkedList. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage