版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/someby/article/details/82933874
1.在实际企业生产环境下编程,我们通常是用数据结构来封装具体的,代码是直接操作数据结构来完成具体的业务功能;
2.Java中提供的众多的数据结构具体就表现为Java的集合,例如List、Set、Collection、Map、Iterator、Queue等都是Java中至关重要的内容;
3.大数据中到处可见集合的使用,因为大数据处理的是数据集!
4.LinkedList:是一个链表数据结构,具有List的功能,同时又具备Queue的操作方式;(补充:Stack数据结构是先进后出!)
5.只要输出Java集合中的数据,就一定要使用Iterator接口;
代码示例:
/**
* 列表的操作
*/
public static void listOps(){
List<String> list = null;
list = new ArrayList<String>();
Collection<String> collections = new ArrayList<String>();
//向列表添加一个元素
list.add("Spark");
list.add("Hadoop");
list.add("Scala");
list.add("Kafka");
list.add("Techyon");
list.add("Kafka");
list.add("Techyon");
collections.add("Hive");
collections.add("MySQL");
collections.add("Hbase");
//向列表同时添加多个元素
list.addAll(collections);
System.out.println(list);
//删除元素
list.remove(0);//删除指定索引的元素
System.out.println(list);
list.remove("MySQL"); //删除指定的元素
System.out.println(list);
//遍历列表
for (int i =0;i < list.size(); i++){
System.out.print(list.get(i)+"\t");
}
System.out.println();
//将列表转化为字符串数组
String[] data = list.toArray(new String[]{});
for (String item:data){
System.out.println(item);
}
//截取列表的子链表,包括【1,3)
List<String> subList = list.subList(1,3);
for (String item:subList){
System.out.println(item);
}
}
/**
* linkedList--双向列表
*/
private static void linkedListOps() {
LinkedList<String> linkedList = new LinkedList<String>();
linkedList.add("A");
linkedList.add("B");
linkedList.add("C");
linkedList.add("D");
System.out.println(linkedList);
linkedList.addFirst("0");
linkedList.addLast("9");
System.out.println(linkedList);
}
/**
* 迭代器操作
*
*/
private static void iteratorOps() {
LinkedList<String> linkedList = new LinkedList<String>();
linkedList.add("A");
linkedList.add("B");
linkedList.add("C");
linkedList.add("D");
linkedList.addFirst("0");
linkedList.addLast("9");
Iterator<String> iterator = linkedList.iterator();
while (iterator.hasNext()){
String item = iterator.next();
if ("C".equals(item)){
iterator.remove();
}else{
System.out.println(item);
}
}
Iterator<String> iterator1 = iterator;
while (iterator1.hasNext()){
System.out.println(iterator1.next());
}
}
/**
* ListIterator--允许程序员按任一方向遍历列表、迭代期间修改列表,并获得迭代器在列表中的当前位置
*/
private static void listIteratorOps() {
LinkedList<String> linkedList = new LinkedList<String>();
linkedList.add("A");
linkedList.add("B");
linkedList.add("C");
linkedList.add("D");
linkedList.addFirst("0");
linkedList.addLast("9");
ListIterator<String> iterator = linkedList.listIterator();
while (iterator.hasNext()){
String item = iterator.next();
}
while (iterator.hasPrevious()){
System.out.println(iterator.previous());
}
}