ListGetandSetDemo 集合操作get set remove add方法

/*** 集合操作 --线性表 概念: List是Collection的子接口,用于定义线性表数据结构. * 可以将List理解为存放数据的数组.只不过个数可以动态的删除和增加.* * List有两个常用的实现类,ArrayList和LinkedList. 两者在功能上相同,只是性能上有些差异.* ArrayList是用动态数组的方式体现,更适合随机访问. * LinkedList是用链表的方式体现,更适合增删插入. 如果对性能要求不苛刻,可以忽略性能差异.* * List除了继承Collection的方法外,还针对线性表的 数据结构定义了一系列方法.* 最常用的get,set方法. * E get(intindex) 获取集合中指定下标对应的元素,从0开始 * E set(int index,E elments) 将给定的元素存入到指定的位置,并返回原来的元素* * -----------------------------------------------------------------------------案例1 使用List的set方法和get方法设置和获取集合中的元素:* * 1) 创建List接口的引用list,使该引用指向ArrayList的实例。 * 2)将字符串“java”、“cpp”、“php”、“c#”、“objective-c”放入集合list中。 * 3)使用List接口提供的get方法和size方法遍历集合list,并将每一个字符串元素转换成大写。* 4)将索引位置为1的元素替换为c++,并输出被替换掉的元素以及集合list。5) 交换集合list中索引位置为1和索引位置为3的元素。*/
public class ListGetandSetDemo {public static void main(String[] args) {/* 案例1 使用List的set方法和get方法设置和获取集合中的元素 *///1) 创建List接口的引用list,使该引用指向ArrayList的实例。List<String> list = new ArrayList<String>();//2) 将字符串“java”、“cpp”、“php”、“c#”、“objective-c”放入集合list中。list.add("java");list.add("cpp");list.add("php");list.add("c#");list.add("objective-c");//3) 使用List接口提供的get方法和size方法遍历集合list,并将每一个字符串元素转换成大写。for (int i = 0; i < list.size(); i++) {String getStr = list.get(i);System.out.println(getStr.toUpperCase());}//4)将索引位置为1的元素替换为c++,并输出被替换掉的元素以及集合list。String replaceStr = list.set(1, "c++");System.out.println("替换掉的元素为: "+replaceStr);System.out.println("list替换之后的内容为: "+list);/*输出结果:*     替换掉的元素为: cpplist替换之后的内容为: [java, c++, php, c#, objective-c]*///5) 交换集合list中索引位置为1和索引位置为3的元素。String temp = list.set(1, "temp");temp = list.set(3,temp);temp = list.set(1, temp);System.out.println("list替换之后的内容为: "+list);// list.set(1, list.set(3, list.get(1))); 简化书写
    }
}

View Code

List根据下标的操作还支持插入和删除

/*** List根据下标的操作还支持插入和删除* void add(int index,E elements)* 将给定的元素插入到指定的位置,原位置及后续元素都顺序向后移* E remove (int index)* 删除给定的下标的元素,并返回.*
案例  向List集合的指定索引位置插入元素以及移除指定索引位置的元素,详细要求如下:
1) 创建List接口的引用list,使该引用指向ArrayList的实例;将字符串“java”、 “c#”放入集合list中。
2) 在索引位置为1处,插入字符串元素“cpp”。
3) 移除索引位置为2的元素。**/
public class ListAddAndDelDemo {public static void main(String[] args) {/* 案例1  向List集合的指定索引位置插入元素以及移除指定索引位置的元素 *///1) 创建List接口的引用list,使该引用指向ArrayList的实例;将字符串“java”、 “c#”放入集合list中。List<String> list = new ArrayList<String>();list.add("java");list.add("c#");System.out.println(list);    //[java, c#]//2) 在索引位置为1处,插入字符串元素“cpp”。list.add(1,"cpp");/*List重载了带有索引位置参数的add方法,该方法将对象插入集合的指定索引位置* (相当于前插,可以理解为对象插入集合后其索引为指定的参数)。* 重载Collection接口的add方法. */System.out.println(list);    //[java, cpp, c#]//3) 移除索引位置为2的元素。list.remove(2);/*List重载的带有索引位置参数的remove方法,移除list集合中索引位置为2的元素*重载Collection接口的remove方法.*/System.out.println(list);    //[java, cpp]
    }
}

View Code

转载于:https://www.cnblogs.com/zyjcxc/p/5448674.html

ListGetandSetDemo 集合操作get set remove add方法相关推荐

  1. 为什么阿里巴巴禁止在 foreach 循环里进行元素的 remove/add 操作

    在阿里巴巴Java开发手册中,有这样一条规定: 但是手册中并没有给出具体原因,本文就来深入分析一下该规定背后的思考. 1 foreach循环 foreach循环(Foreach loop)是计算机编程 ...

  2. 【Java开发规范】禁止在 foreach 循环里进行元素的 remove/add 操作

    在阿里巴巴Java开发手册中,有这样一条规定: 但是手册中并没有给出具体原因,本文就来深入分析一下该规定背后的思考. foreach循环 Foreach循环(Foreach loop)是计算机编程语言 ...

  3. Python入门--集合元素的判断(in,not in集合元素的增加(add()update())集合元素的删除(remove(),discard(),pop(),clear())遍历(for in)

    #集合元素的判断 #集合元素的判断 #in not in #集合元素的新增操作 #1. 调用add()方法,一次添加一个元素 #2.调用update()方法,至少添加一个元素 #集合元素的删除 #1. ...

  4. 不要在 foreach 循环里进行元素的 remove / add 操作

    在foreach 循环里面,不能用remove方法,因为当list里面的最后一个元素被remove时候,会报错. 摘自<阿里巴巴Java开发手册> [强制]不要在 foreach 循环里进 ...

  5. ArrayList的add方法详解——让我们好好看看一个元素是如何插入到ArrayList集合当中(源码级别)

    先看看源码的add方法都涉及到了那些主要方法         这是add方法 这是确保内部容量方法和判断是否扩容方法 这是扩容方法 一.没有手动设置集合大小 1) 确保内部容量< ensureC ...

  6. 不要在foreach循环里进行元素的remove/add操作。remove元素请使用iteratot方式,如果并发操作,需要对Iterator对象加锁

    不要在foreach循环里进行元素的remove/add操作.remove元素请使用iteratot方式,如果并发操作,需要对Iterator对象加锁

  7. 原生js操作元素类名—classList.add()、classList.remove()、classList.contains()、classList.toggle()

    原生js操作元素类名 classList.add( newClassName ): classList.toggle( className ): classList.remove( oldClassN ...

  8. Java 集合 add 方法重复添加问题

    首先需要知道的是,在 add 方法里面,对于引用类型的对象,存放的是引用类型的地址,尤其是当我们使用 new 出来的对象并调用集合中的 add 方法来添时,当改变了该对象的属性,但该对象的地址并没有改 ...

  9. Java入门第107课——使用add方法向集合中添加元素

    问题 使用add方法向集合中添加元素,详细要求如下: 1)使用ArrayList构造集合对象c,并输出该对象. 2)将字符串"a"."b"."c&qu ...

最新文章

  1. Win系统复制粘贴失效解决办法
  2. 同时渲染两个世界:恐怖游戏《灵媒》背后的尖端技术
  3. c语言录像带课程设计,2019信息技术真题共16页word资料
  4. oracle的查询数据(检索数据)
  5. 【计算机网络笔记】交换方式:电路/分组/报文交换
  6. HyperLedger Fabric 节点(Orderer、Peer、Commiter)与channel关系
  7. python中ones zeros 的用法
  8. 蒲公英超级签名原理(手动做超级签名)
  9. 如何整理碎片化的知识?
  10. matlab中根据表格数据画图,excel 表格数据画图-如何利用matlab根据excel表格里面的数据画图...
  11. 异常:“ERROR: Permission to XXX.git denied to user”终极解决方案
  12. 使用less为长篇输出分页--用Enki学Linux系列(12)
  13. 硬件:那些安装8G、16G以及32G内存电脑的区别介绍
  14. Dos窗口的打开方式及其常用命令
  15. android9模拟刘海屏,刘海屏  |  Android 开源项目  |  Android Open Source Project
  16. 【储能优化】基于粒子群求解考虑分时电价-需求响应后的风光柴油储能优化配置模型附matlab代码
  17. 使用ADB和Python实现手机自动刷视频(快手极速版、抖音极速版)
  18. c语言表达式(a b)的值,C语言中,假设所有变量均为整型,表达式(a=5,b=2,++a,b++,a+ - 问答库...
  19. [个人记录]半月板撕裂及SLAP损伤
  20. 人像照片后期调色效果lr预设

热门文章

  1. iOS Hacker Xcode7免登录开发者账号打包ipa
  2. WinPcap捕获数据包
  3. java-List集合的源码分析(数据结构方面,源码注释方面),迭代器快速失败机制
  4. Matlab C++混合编程 在VisualStudio下的编程 使用了Opencv库
  5. Linux DMA 内存拷贝与memcpy 速率比较
  6. tensorflow 之 最近用到的几个小操作tf.reshape,tf.convert_to_tensor,tf.where
  7. 计算机专业考试基础知识,计算机专业基础知识要点及考试考试.docx
  8. php 汉字转拼音类,PHP汉字转换拼音的类_php
  9. 代码质量评判标准、设计模式、面向对象设计原则速查表
  10. [BUUCTF-pwn]——picoctf_2018_buffer overflow 2