LinkedList 链表及练习
Posted yaobiluo
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LinkedList 链表及练习相关的知识,希望对你有一定的参考价值。
LinkedList:
getFirst() getLast() addFirst() addLast() removeFirst() removeLast()
get(index) 查找,慢
ArrayList:
底层数据结构是数组,查询快,增删慢。
线程不安全,效率高。
LinkedList:
底层数据结构是链表,查询慢,增删快。
线程不安全,效率高。
Vector:
底层数据结构是数组,查询快,增删慢。
线程安全,效率低。
练习题: ArrayList去除集合中字符串的重复值(字符串的内容相同)
思路:创建新集合方式,新集合添加的时候用contains()判断
练习题: ArrayList去除集合中自定义对象元素的重复值(对象的成员变量值相同)
思路: 自定义对象 要重写equals()方法
/** * A:案例演示 * 需求:ArrayList去除集合中字符串的重复值(字符串的内容相同) * 思路:创建新集合方式 */ public static void main(String[] args) ArrayList list = new ArrayList(); list.add("a"); list.add("a"); list.add("b"); list.add("b"); list.add("b"); list.add("c"); list.add("c"); list.add("c"); list.add("c"); System.out.println(list); ArrayList newList = getSingle(list); System.out.println(newList); /* * 去除重复 * 1,返回ArrayList * 2,参数列表ArrayList */ public static ArrayList getSingle(ArrayList list) ArrayList newList = new ArrayList(); //创建一个新集合 Iterator it = list.iterator(); //获取迭代器 while(it.hasNext()) //判断老集合中是否有元素 String temp = (String)it.next(); //将每一个元素临时记录住 if(!newList.contains(temp)) //如果新集合中不包含该元素 newList.add(temp); //将该元素添加到新集合中 return newList; //将新集合返回
以上是关于LinkedList 链表及练习的主要内容,如果未能解决你的问题,请参考以下文章