4.list中查看(判断)元素的索引;  

  注意:.indexOf(); 和  lastIndexOf()的不同;

    ///*****************************************//// 
        List<String> NBAStars = new ArrayList<String>();
        NBAStars.add("库里");     //索引0
        NBAStars.add("汤普森");   //索引1
        NBAStars.add("杜兰特");   //索引2
        NBAStars.add("库里");    //索引3
        NBAStars.add("哈登");    //索引4
        NBAStars.add("戴维斯");
        NBAStars.add("詹姆斯");
        NBAStars.add("杜兰特");
        System.out.println(NBAStars.indexOf("杜兰特"));
        System.out.println(NBAStars.lastIndexOf("杜兰特"));
        System.out.println(NBAStars.indexOf("库里"));

效果图:

5.根据元素索引位置进行的判断:

         if(NBAStars.indexOf("杜兰特")==2){
System.out.println("杜兰特在这里");
}else if (NBAStars.indexOf("杜兰特")==7) {
System.out.println("杜兰特在那里");
}else {
System.out.println("杜兰特在勇士?");
}

6.利用list中索引位置重新生成一个新的list(截取集合);

  方法: .subList(fromIndex, toIndex);  .size() ; 该方法得到list中的元素数的和

             List<String> phone=new ArrayList<>();
phone.add("三星"); //索引为0
phone.add("苹果"); //索引为1
phone.add("锤子"); //索引为2
phone.add("华为"); //索引为3
phone.add("小米"); //索引为4
//原list进行遍历
for(String pho:phone){
System.out.println(pho);
}
//生成新list
phone=phone.subList(1, 4); //.subList(fromIndex, toIndex) //利用索引1-4的对象重新生成一个list,但是不包含索引为4的元素,4-1=3
for (int i = 0; i < phone.size(); i++) { // phone.size() 该方法得到list中的元素数的和
System.out.println("新的list包含的元素是"+phone.get(i));
}

7.对比两个list中的所有元素:

  //两个相等对象的equals方法一定为true, 但两个hashcode相等的对象不一定是相等的对象

    System.out.println("两个list中的所有元素相同");
}else {
System.out.println("两个list中的所有元素不一样");
} if (person.hashCode()==fruits.hashCode()) {
System.out.println("我们相同");
}else {
System.out.println("我们不一样");
}

8.判断list是否为空;

  //空则返回true,非空则返回false

if (person.isEmpty()) {
System.out.println("空的");
}else {
System.out.println("不是空的");
}

9.返回Iterator集合对象:

System.out.println("返回Iterator集合对象:"+person.iterator());

10.将集合转换为字符串;

String liString="";
liString=person.toString();
System.out.println("将集合转换为字符串:"+liString);

11.将集合转换为数组:

System.out.println("将集合转换为数组:"+person.toArray());

12.集合类型转换:

List<Object> listsStrings=new ArrayList<>();
  for (int i = 0; i < person.size(); i++) {
listsStrings.add(person.get(i));
}
//2.指定类型
List<StringBuffer> lst=new ArrayList<>();
  for(String string:person){
  lst.add(StringBuffer(string));
}

13.去重复:

 List<String> lst1=new ArrayList<>();
lst1.add("aa");
lst1.add("dd");
lst1.add("ss");
lst1.add("aa");
lst1.add("ss"); //方法 1.
for (int i = 0; i <lst1.size()-1; i++) {
for (int j = lst1.size()-1; j >i; j--) {
if (lst1.get(j).equals(lst1.get(i))) {
lst1.remove(j);
}
}
}
System.out.println(lst1); //方法 2.
List<String> lst2=new ArrayList<>();
for (String s:lst1) {
if (Collections.frequency(lst2, s)<1) {
lst2.add(s);
}
}
System.out.println(lst2);

Java如何对List集合的操作方法(二)的更多相关文章

  1. Java源码解析——集合框架(二)——ArrayBlockingQueue

    ArrayBlockingQueue源码解析 ArrayBlockingQueue是一个阻塞式的队列,继承自AbstractBlockingQueue,间接的实现了Queue接口和Collection ...

  2. Java如何对List集合的操作方法(一)

    目录: list中添加,获取,删除元素: list中是否包含某个元素: list中根据索引将元素数值改变(替换): list中查看(判断)元素的索引: 根据元素索引位置进行的判断: 利用list中索引 ...

  3. 2019/3/4 java集合学习(二)

    java集合学习(二) 在学完ArrayList 和 LinkedList之后,基本已经掌握了最基本的java常用数据结构,但是为了提高程序的效率,还有很多种特点各异的数据结构等着我们去运用,类如可以 ...

  4. Java多线程系列--“JUC集合”07之 ArrayBlockingQueue

    概要 本章对Java.util.concurrent包中的ArrayBlockingQueue类进行详细的介绍.内容包括:ArrayBlockingQueue介绍ArrayBlockingQueue原 ...

  5. Java多线程系列--“JUC集合”08之 LinkedBlockingQueue

    概要 本章介绍JUC包中的LinkedBlockingQueue.内容包括:LinkedBlockingQueue介绍LinkedBlockingQueue原理和数据结构LinkedBlockingQ ...

  6. Java多线程系列--“JUC集合”09之 LinkedBlockingDeque

    概要 本章介绍JUC包中的LinkedBlockingDeque.内容包括:LinkedBlockingDeque介绍LinkedBlockingDeque原理和数据结构LinkedBlockingD ...

  7. Java学习日记-10 集合

    集合(Collection) 1. 什么是集合? 集合是一组对象组成的一个整体,又称为容器,集合类属于java.util包.集合不同于数组的地方在于,一是它的容量是可变的,二是集合中只能存储对象,不能 ...

  8. java学习笔记之集合家族2

    集合体系 一.数据结构 List集合储存数据结构 <1>堆栈结构 特点:先进后出 <2>队列结构 特点:先进先出 <3>数组结构 特点:查询快,增删慢 <4& ...

  9. java核心卷轴之集合

    1. Iterator 1.1 注意事项 接口的remove方法将删除上次调用next方式时返回的对象,即:remove之前,必须有next(先获取,再删除). 1.2 例一:删除字符串集合中的第一个 ...

随机推荐

  1. 【九天教您南方cass 9.1】 11 方格网土方计算

    同学们大家好,欢迎收看由老王测量上班记出品的cass9.1视频课程 我是本节课主讲老师九天. 我们讲课的教程附件也是共享的,请注意索取测量空间中. [点击索取cass教程]5元立得 (给客服说暗号:“ ...

  2. Centos 6.4 安装dnsmasq

    1 下载源码 wget http://www.thekelleys.org.uk/dnsmasq/dnsmasq-2.45.tar.gz cp dnsmasq-2.45.tar.gz /usr/src ...

  3. 教程:Spagobi开源BI系统 Console报表设计教程

    Console Designer 1 Console Designer Console Designer 1.1 Introduction 1.2 Dataset Tab 1.3 Summary Pa ...

  4. (笔记)AT91SAM9260的启动过程详细解说

    Bootstrap的启动过程 一. 说明: Bootstrap启动代码是官方提供的一级启动代码,包括汇编和C语言两部分组成.对AT91SAM9260来说编译完成后,代码长度必须小于4KB,烧写到dat ...

  5. Java8使用@sun.misc.Contended避免伪共享(False Sharing)

    伪共享(False Sharing) Java8中用sun.misc.Contended避免伪共享(false sharing) Java8使用@sun.misc.Contended避免伪共享

  6. 1分钟了解MyISAM与InnoDB的索引差异

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/z50L2O08e2u4afToR9A/article/details/82111747 <数据 ...

  7. java-信息安全(八)-迪菲-赫尔曼(DH)密钥交换

    概述 信息安全基本概念: DH(Diffie–Hellman key exchange,迪菲-赫尔曼密钥交换) DH 是一种安全协议,,一种确保共享KEY安全穿越不安全网络的方法,它是OAKLEY的一 ...

  8. 3. CMake 系列 - 分模块编译&安装项目

    目录 1. 项目目录结构 2. 相关代码 2.1 add 模块 2.2 sub 模块 2.3 测试模块 2.4 顶层 CMakeLists.txt 3. 编译 & 安装 4. 项目安装基本语法 ...

  9. laravel 在linux环境下解决.htaccess无效和去除index.php

    LoadModule rewrite_module modules/mod_rewrite.so (去掉前面的#注释) AllowOverride All (根目录的配置下,确保设置成All) < ...

  10. VUE----整理

    -------------------------------------------------------------------VUE------------------------------ ...