package basic;

 import java.util.ArrayList;
import java.util.Arrays;
import java.util.Iterator;
import java.util.List;
import java.util.stream.Collectors; //List使用方法
public class ListDemo { public static void main(String[] args) {
// 实例化直接赋值
List<String> alpha = Arrays.asList("a", "b", "c", "d");
dataPrintByFE(alpha); // 实例化List
List<String> lists = new ArrayList<String>(); // 添加元素
lists.add("a");
lists.add("b");
lists.add("c");
lists.add("d");
dataPrintByIt(lists);
lists.add(3, "e");
dataPrintByIt(lists); // 修改元素
lists.set(4, "f");
dataPrintByIt(lists); // 删除元素(index或object)
lists.remove(0);
lists.remove("b");
dataPrintByForEach(lists); // 查询
String item = lists.get(1);
int n = lists.indexOf("f");
System.out.print("get:" + item + " indexOf:" + n); // 遍歷(原始方法和新特性)
dataPrintByIt(lists);
dataPrintByForEach(lists); // 清空
// lists.clear(); // 直接输出
System.out.println("直接输出:" + lists); // Java8处理输出
List<String> collect = lists.stream().map(String::toUpperCase).collect(Collectors.toList());
System.out.println("Java8的stream输出:" + collect); // [A, B, C, D] } // 遍历list-原始方法
public static void dataPrintByIt(List<String> lists) {
Iterator<String> it = lists.iterator();
while (it.hasNext()) {
System.out.print(it.next() + " ");
}
System.out.println();
} // 遍历list-forEach方法,Java8新特性
public static void dataPrintByForEach(List<String> lists) {
lists.forEach((x) -> System.out.print(x + " "));
System.out.println();
} // 遍历list-forEach方法
public static void dataPrintByFE(List<String> lists) {
for (String item : lists) {
System.out.print(item + " ");
}
System.out.println();
} }

执行结果:

a b c d
a b c d
a b c e d
a b c e f
c e f
get:e indexOf:2c e f
c e f
直接输出:[c, e, f]
Java8的stream输出:[C, E, F]

  

Java之List使用方法的更多相关文章

  1. 获取当前应用的系统路径工具类和java的System.getProperty()方法介绍

    java的System.getProperty()方法可以获取的值,如下: 对于Java程序,无论是未打包的还是打包的JAR或WAR文件,有时候都需要获取它运行所在目录信息,如何做到这一点呢? /** ...

  2. Java实现时间动态显示方法汇总

    这篇文章主要介绍了Java实现时间动态显示方法汇总,很实用的功能,需要的朋友可以参考下 本文所述实例可以实现Java在界面上动态的显示时间.具体实现方法汇总如下: 1.方法一 用TimerTask: ...

  3. Java Native Interfce三在JNI中使用Java类的普通方法与变量

    本文是<The Java Native Interface Programmer's Guide and Specification>读书笔记 前面我们学习了如何在JNI中通过参数来使用J ...

  4. 浅谈Java中的hashcode方法

    哈希表这个数据结构想必大多数人都不陌生,而且在很多地方都会利用到hash表来提高查找效率.在Java的Object类中有一个方法: 1 public native int hashCode(); 根据 ...

  5. 0019 Java学习笔记-面向对象-方法

    方法属于谁 方法要么属于类,要么属于对象 static修饰的方法属于类 没有static修饰的方法属于对象 方法只能定义在类里面,不能独立定义 不能独立的执行方法,要么通过类调用,要么通过方法调用 一 ...

  6. [Java] - 格式字符串替换方法

    Java 字符串格式替换方法有两种,一种是使用String.format(...),另一种是使用MessageFormat.format(...) 如下: import java.text.Messa ...

  7. atitit.java给属性赋值方法总结and BeanUtils 1.6.1 .copyProperty的bug

    atitit.java给属性赋值方法总结and BeanUtils 1.6.1 .copyProperty的bug 1. core.setProperty(o, "materialId&qu ...

  8. JAVA常见错误处理方法 和 JVM内存结构

    OutOfMemoryError在开发过程中是司空见惯的,遇到这个错误,新手程序员都知道从两个方面入手来解决:一是排查程序是否有BUG导致内存泄漏:二是调整JVM启动参数增大内存.OutOfMemor ...

  9. 千万不要误用 java 中的 HashCode 方法

    刚才debug追堆栈的时候发现一个很奇怪的问题 我用IE8和Google的浏览器访问同一个地址 Action的 scope="session" 也设置了 而且两个浏览器提交的参数m ...

  10. java中的native方法和修饰符(转)

    Java中的native修饰符 今天偶然看代码,发现别人有这样写的方法,并且jar里面有几个dll文件,比较奇怪,于是把代码打开,发现如下写法. public native String GSMMod ...

随机推荐

  1. linux中断源码分析 - 软中断(四)

    本文为原创,转载请注明:http://www.cnblogs.com/tolimit/ 在上一篇文章中,我们看到中断实际分为了两个部分,俗称就是一部分是硬中断,一部分是软中断.软中断是专门用于处理中断 ...

  2. LED灯珠散热的计算方法

    LED灯珠散热的计算方法 来源: 时间:2014-09-23 13:55 [编辑:lufieliu] [字体:大 中 小] 我来说两句   一.热对LED的影响 1.LED是冷光源吗? (1)LED的 ...

  3. linux shell的here document用法

    转载自: http://my.oschina.net/u/1032146/blog/146941 什么是Here Document?Here Document 是在Linux Shell 中的一种特殊 ...

  4. BootStrap学习(3)_导航菜单

    一.导航元素 1.表格导航或标签 以一个带有 class .nav 的无序列表开始. 添加 class .nav-tabs. <!DOCTYPE html> <html xmlns= ...

  5. Luogu P1337 [JSOI2004]平衡点 / 吊打XXX

    一道入门模拟退火的经典题,还是很考验RP的 首先我们发现神TM这道题又和物理扯上了关系,其实是一道求广义费马点的题目 首先我们可以根据物理知识得到,当系统处于平衡状态时,系统的总能量最小 又此时系统的 ...

  6. [Spark][Python]Spark Join 小例子

    [training@localhost ~]$ hdfs dfs -cat people.json {"name":"Alice","pcode&qu ...

  7. 【php增删改查实例】第十七节 - 用户登录(1)

    新建一个login文件,里面存放的就是用户登录的模块. <html> <head> <meta charset="utf-8"> <sty ...

  8. A2dp连接流程源码分析

    在上一篇文章中,我们已经分析了:a2dp初始化流程 这篇文章主要分析a2dp的连接流程,其中还是涉及到一些底层的profile以及protocol,SDP.AVDTP以及L2CAP等. 当蓝牙设备与主 ...

  9. for循环两个略骚的写法

    骚写法 或许你知道,总之我觉得很酷,希望你也这么认为. 递增遍历 最常见场景,从 0 到 10 的遍历,不输出 10: for(let i = -1; ++i < 10;) { console. ...

  10. markdown操作手册

    **1.标题** # h1 h1自带分割线 ## h2 ### h3 #### h4 ##### h5 ###### h6 **2.圆点** - 圆点 **3.分割线,-和*都可以** --- *** ...