Home  >  Article  >  Java  >  Java collection methods to implement classes ArrayList and LinkedList

Java collection methods to implement classes ArrayList and LinkedList

黄舟
黄舟Original
2017-10-20 10:07:512426browse

The following editor will bring you an article on how to implement Java collection classes ArrayList and LinkedList. The editor thinks it is quite good, so I will share it with you now and give it as a reference for everyone. Let’s follow the editor and take a look.

List’s method list

##isEmpty()Returns true if there are no elements in this list remove(int index)Remove the element at the specified position in this listindextof(Object o)Returns the index of the first occurrence of the specified element in this list, or -1 if this list does not contain the elementtoArrayReturns an array containing all the elements in this list in appropriate order (from first to last element)
Method name Function description
ArrayList() Construction method, used to create an empty Array list
add(E e) Adds the specified element to the end of this list
get(int index) Returns the element at the specified position in this list
size() Returns the number of elements in this list
clear() Remove all elements in this list




The following will be explained with a simple example:

Implementation class 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的区别 和代码
//加上后面的几个方法

implements the linked list implementation of the class LinkedList

#List interface, which implements all available Selected list operation and allows all elements (including null). In addition to implementing the List interface, the LinkedList class also provides a unified naming method for get, remove, and insert elements at the beginning and end of the list. These operations allow linked list tables to be used as stacks, queues, or deques.


Some methods of LinkedList

Method nameFunction descriptionaddFirst(E e)Inserts the specified element at the beginning of this listaddLast(E e)Adds the specified element to the end of this listremoveFirst()Remove and return the first element of this listremoveLast()Remove and return The last element of this listgetFirst()Returns the first element of this listgetLast()Returns the last element in this list








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 的其他方法都是一样的,只是加了一些方法

Traversal of collections

is also mentioned in the above example, see below Code

Use for loop

Use for -each loop

Use Iterator interface

Each collection class provides the iterator method to Returns an iterator, through which the collection can be traversed or deleted. The steps for using the iterator are as follows:

****

1. Obtain the collection through the Iterator method Iterator

2. Determine whether there is the next element by calling the hasNext method

3. Use the next method to remove its next element


//数组的遍历 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();

The above is the detailed content of Java collection methods to implement classes ArrayList and LinkedList. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn