A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© 不二晨 金牌黑马   /  2018-10-16 09:16  /  750 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

集合的体系:
----------| Collection  单列集合的根接口
----------------| List 如果实现了List接口的集合类,具备的特点: 有序,可重复。
--------------------| ArrayList   ArrayList 底层是维护了一个Object数组实现 的, 特点: 查询速度快,增删慢。
什么时候使用ArrayList: 如果目前的数据是查询比较多,增删比较少的时候,那么就使用ArrayList存储这批数据。  比如 :高校的 图书馆
--------------------| LinkedList   LinkedList底层是使用了链表数据结构实现的,  特点: 查询速度慢,增删快。
--------------------| Vector(了解即可)
----------------| Set  如果实现了Set接口的集合类, 具备的特点: 无序,不可重复。
Linkedlist特有的方法:
1:方法介绍
    addFirst(E e)
    addLast(E e)

    getFirst()
    getLast()

    removeFirst()
    removeLast()

2:数据结构
    1:栈 (1.6)  : 主要是用于实现堆栈数据结构的存储方式。
     先进后出
     push()
     pop()
    2:队列(双端队列1.5): 主要是为了让你们可以使用LinkedList模拟队列数据结构的存储方式。
     先进先出
     offer()
     poll()

3:返回逆序的迭代器对象      
   descendingIterator()   返回逆序的迭代器对象

package lx5;
import java.util.*;

public class Demo3 {

        public static void main(String[] args) {
                // TODO Auto-generated method stub
                LinkedList list=new LinkedList();
                list.add("更好");
                list.add("环境");
                list.add("和我");
                list.add("考试");
                System.out.println("集合的元素:"+list);
                list.addFirst("好看");
                list.addLast("酷了");
                System.out.println("集合的元素:"+list);
                System.out.println("获取集合中首位置的元素:"+list.getFirst());
                System.out.println("获取集合中末尾的元素:"+ list.getLast());
                System.out.println("删除集合中的首位置元素并返回:"+ list.removeFirst());
                System.out.println("删除集合中的末尾素并返回:"+ list.removeLast());
                System.out.println("集合的元素:"+list);
                list.push("评论");
                System.out.println("集合的元素:"+list);
                System.out.println("删除集合的首元素:"+list.pop());
                System.out.println("集合的元素:"+list);
                list.offer("狗剩");
                System.out.println("删除集合的首元素: "+list.poll());
                System.out.println("集合中的元素:"+ list);
                Iterator  it = list.descendingIterator();
                while(it.hasNext()){
                        System.out.println(it.next());
                }
        }

}
题目: 使用LinkedList实现堆栈数据结构的存储方式与队列的数据结构存储方式。

package lx5;
import java.util.*;
import java.util.LinkedList;

//使用LinkedList模拟堆栈的数据结构存储方式
class StackList{
       
        LinkedList list;
       
        public StackList(){
                list = new LinkedList();
        }
       
        //进栈
        public void add(Object o){
                list.push(o);
        }
       
        //弹栈 : 把元素删除并返回。
        public Object pop(){
                return list.pop();
        }
       
        //获取元素个数
        public int size(){
                return list.size();
        }
       
}

//使用LinkedList模拟队列的存储方式
class TeamList{
       
        LinkedList list;
       
        public TeamList(){
                list = new LinkedList();
        }
       
        public void add(Object o){
                list.offer(o);
        }
       
        public Object remove(){
                return list.poll();
        }
       
        //获取元素个数
        public int size(){
                return list.size();
        }
       
}
public class Demo4 {

        public static void main(String[] args) {
                // TODO Auto-generated method stub
                TeamList list=  new TeamList();
                list.add("更好");
                list.add("环境");
                list.add("和我");
                list.add("考试");
               
                int size = list.size();
                for(int i = 0 ; i<size ; i++){
                        System.out.println(list.remove());
                }
               
               

        }

}

---------------------
【转载】
作者:江南233244
原文:https://blog.csdn.net/qq_3913124 ... 474?utm_source=copy


3 个回复

倒序浏览
奈斯
回复 使用道具 举报
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马