中华考试网·阅读新闻
编程开发 > JAVA > 文章内容

java基础知识总结(29)

2016-1-21编辑:ljnbset

List系列

         List系列的类均实现List接口,大部分的类都以List作为类名的后缀,也有部分该体系中的类命名比较特殊。

        该系列中的类,比较常见的有ArrayList和LinkedList两个。其中ArrayList是以数组为基础实现的List,而LinkedList则是以链表为基础实现的List,ArrayList拥有数组的优点,而LinkedList拥有链表的优点。

        由于该体系中的类均实现List接口,所以在这些类的内部,相同的功能方法声明是保持一致的,下面进行一一介绍:

         a、add方法

                            boolean add(Object o)

                  该方法的作用是追加对象o到已有容器的末尾。

                  另外一个add方法:

                            void add(int index, Object element)

该方法的作用是将对象element插入到容器中索引值为index的位置,原来位于该位置的对象以及后续的内容将依次向后移动。

         b、addAll方法

                            boolean addAll(Collection c)

                  该方法的作用是将容器对象c中的每个元素依次添加到当前容器的末尾。

                  另外一个addAll方法:

                            boolean addAll(int index, Collection c)

该方法的作用是将容器对象c中的第一个元素插入到当前容器中索引值为index的位置,第二个元素插入到当前容器中索引值为index+1的位置,依次类推。而当前容器中原来位于index以及index索引值以后的元素则依次向后移动。

         c、get方法

                            Object get(int index)

                  该方法的作用是返回当前容器对象中索引值为index的元素的内容。

         d、indexOf方法

                            int indexOf(Object o)

该方法的作用是查找当前容器中是否存在对象o,如果存在则返回该对象第一次出现位置的索引值,如果不存在则返回-1。

另外一个方法lastIndexOf则是从末尾向前查找,返回从末尾向前第一次出现位置的索引值,如果不存在则返回-1。

         e、remove方法

                            Object remove(int index)

该方法的作用是删除索引值为index的对象的内容,如果删除成功则返回被删除对象的内容。

                  另外一个remove方法:

                            boolean remove(Object o)

该方法的作用是删除对象内容为o的元素,如果相同的对象有多个,则只删除索引值小的对象。如果删除成功则返回true,否则返回false。

无论使用哪一个remove方法,类内部都自动移动将被删除位置后续的所有元素向前移动,保证索引值的连续性。

         f、set方法

                            Object set(int index, Object element)

该方法的作用是修改索引值为index的内容,将原来的内容修改成对象element的内容。

         g、size方法

                            int size()

                  该方法的作用是返回当前容器中已经存储的有效元素的个数。

         h、toArray方法

                            Object[] toArray()

                  该方法的作用是将当前容器中的元素按照顺序转换成一个Object数组。

        下面是一个简单的以ArrayList类为基础实现的List系列中类基本使用的示例,代码如下:

                   import java.util.*;

/**

 *以ArrayList类为基础演示List系列类的基本使用

 */

public class ArrayListUse {

         public static void main(String[] args) {

                   //容器对象的初始化

                   List list = new ArrayList();                 

                   //添加数据

                   list.add("1");

                   list.add("2");

                   list.add("3");

                   list.add("1");

                   list.add("1");           

                   //插入数据

                   list.add(1,"12");              

                   //修改数据

                   list.set(2, "a");                 

                   //删除数据

                   list.remove("1");             

                   //遍历

                   int size = list.size(); //获得有效个数

                   //循环有效索引值

                   for(int i = 0;i < size;i++){

                            System.out.println((String)list.get(i));

                   }

         }

}

        该程序的运行结果为:

                   12

a

3

1

1

        在List系列中,还包含了Stack(栈)类和Vector(向量)类,Stack类除了实现List系列的功能以外,还实现了栈的结构,主要实现了出栈的pop方法和入栈的push方法。

        而Vector类由于需要兼容老版本JDK中缘故,所以在实现的方法中需要提供老版本Vector类中对应的方法,这样导致Vector类中相同或类似的功能方法一般是成对出现的。

java基础知识总结(28)
咨询热线:4000-525-585(免长途费)