ArrayList クラスと LinkedList クラスを実装するための Java コレクション メソッド

黄舟
リリース: 2017-10-20 10:07:51
オリジナル
2443 人が閲覧しました

以下のエディターは、Java コレクション クラス ArrayList と LinkedList を実装する方法に関する記事を提供します。編集者はこれがとても良いと思ったので、参考として共有します。エディターに従って List メソッドのリストを見てみましょう

add(E e)このリストの最後に指定された要素を追加しますこのリスト要素内の指定された位置にある要素を返します size()clear()isEmpty() remove(int Index)indextof(Object o)toArray が含まれていない場合は -1 を返します。これを適切な順序 (最初から最後まで) で含む要素 リスト内のすべての要素の配列 実装クラス 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的区别 和代码
//加上后面的几个方法
ログイン後にコピー
実装クラス LinkedListList インターフェース すべてのオプションのリスト操作を実装し、すべての要素 (null を含む) を許可するリンク リストの実装。 List インターフェイスの実装に加えて、LinkedList クラスは、リストの先頭と末尾の要素を取得、削除、および挿入するための統一された命名メソッドも提供します。これらの操作により、リンク リスト テーブルをスタック、キュー、または両端キューとして使用できるようになります。

get(int )

このリスト内の要素の数を返します

内のすべての要素を削除しますこのリスト

このリストに要素がない場合は true を返します

このリストの指定された位置にある要素を削除します

このリスト内で指定された要素が最初に出現するインデックスを返します。このリストに要素

以下を簡単な例で説明します:

LinkedListの一部のメソッド
メソッド名

関数の説明


addFirst(E e)

このリストの先頭に指定された要素を挿入します


addLast (E e)

指定された要素をこのリストの最後に追加しますremoveFirst()removeLast() このリストの最後の要素を削除して返しますgetFirst()このリストの最初の要素を返しますgetLast()このリストの最後の要素を返します Elementsコレクションの走査for -eachループを使用しますIterを使用するエーターインターフェース各コレクション クラスは、イテレータを返すイテレータ メソッドを提供します。このイテレータを使用する手順は次のとおりです。 **** を使用してセットの反復子を取得します。2. hasNext メソッド

このリストの最初の要素を削除して返します



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 的其他方法都是一样的,只是加了一些方法
ログイン後にコピー

も上記の例で説明されています。以下のコードを見てくださいforループを使用します

1. Iterator メソッド
を呼び出して、次の要素があるかどうかを確認します。3. next メソッドを使用して、次の要素を削除します


//数组的遍历 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 クラスと LinkedList クラスを実装するための Java コレクション メソッドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート