List接口的使用方法
★List接口特点:
1.元素存储有序的集合
2.带索引的集合
3.集合中可以有重复的元素
4.常用的子类有ArrayList , LinkedList
★List接口的方法:add , remove() , set(int index,Object e) , get()
1.add:将元素插入到指定的索引上
//1将元素插入到指定的索引上
public static void fun1(){
List<String> s = new ArrayList<String>();
s.add("a");
s.add("a1");
s.add("a2");
System.out.println(s);
s.add(1,"asjkdk");
System.out.println(s);
}
2.remove:将指定索引上的元素移除
// 2移除 指定索引上的元素 remove() 返回的是被删除的元素
public static void fun2(){
List<String> s = new ArrayList<String>();
s.add("a");
s.add("a1");
s.add("a2");
String se = s.remove(0);
//返回被删除的元素
System.out.println(se);
System.out.println(s);
}
3.set(int index,Object e):修改指定索引上的元素
//3 修改指定索引上的元素 返回值是 被修改前的元素
public static void fun3(){
List<String> s = new ArrayList<String>();
s.add("a");
s.add("a1");
s.add("a2");
String s1 = s.set(0, "我aijava");
//返回被修改前的元素
System.out.println(s1+" s1");
System.out.println(s);
}
★LinkedList类
特点:1. 底层采用的是链式结构 每次查询都是从头或者尾部开始查找 查询相对较慢
2.特有的方法removeFirst,removeLast
方法:
1.addLast在集合后面添加,addFirst在集合前面添加
public static void fun1(){
LinkedList<String> link = new LinkedList<String>();
link.addLast("猪猪侠");
link.addLast("佩琪"); link.addFirst("乔治");
link.addFirst("小呆呆");
//迭代器
Iterator<String> it = link.iterator();
//判断是否有下一个元素
while(it.hasNext()){
String e = it.next();
System.out.println(e);
}
2.getFirst(); 得到集合第一个元素,getLast();得到集合最后一个元素
// 2getFirst(); getLast(); 先判断集合是否为空后 在进行循环或者获得操作
public static void fun2(){
LinkedList<String> link = new LinkedList<String>();
// link.add("李白");
// link.add("韩信");
// link.add("赵云");
// String first2 = link.getFirst();
// System.out.println(first2);
if(!link.isEmpty()) {//判断是否为空
String first = link.getFirst();
System.out.println(first);
} }
3.removeFirst删除前面的元素,removeLast删除后面的元素
//3remove 删除功能
public static void fun3(){
LinkedList<String> link = new LinkedList<String>();
link.add("每当我听到雨声");
link.add("就像听到了心中的迷茫");
link.removeFirst();
System.out.println(link);
}
List接口的使用方法的更多相关文章
- C# 索引器,实现IEnumerable接口的GetEnumerator()方法
当自定义类需要实现索引时,可以在类中实现索引器. 用Table作为例子,Table由多个Row组成,Row由多个Cell组成, 我们需要实现自定义的table[0],row[0] 索引器定义格式为 [ ...
- 通过实现System.IComparable接口的CompareTo方法对两个类进行比较
假设现在有一个学生类 class Student { int age; public Student(int age) { this.age = age; } } 要使学生类之间能进行比较,实现Sys ...
- ICompare接口、Sort()方法
1.接口中的方法并不实现具体功能,继承于该接口的类必须实现具体功能. 核心思想:对修改封闭,对扩展开放. 2.Sort()方法: 默认:Sort(内容) 英文:按照首字母顺序排序,首字母相同则看第二个 ...
- Java8新特性——接口的默认方法和类方法
Java8新增了接口的默认方法和类方法: 以前,接口里的方法要求全部是抽象方法,java8以后允许在接口里定义默认方法和类方法: 不同的是: 默认方法可以通过实现接口的类实例化的对象来调用,而类方法只 ...
- Java接口中的方法
接口中可以含有变量和方法.但是,接口中的变量会被隐式地指定为public static final变量(并且只能是public static final变量,用private修饰会报编译错误),而方法 ...
- 集合中list、ArrayList、LinkedList、Vector的区别、Collection接口的共性方法以及数据结构的总结
List (链表|线性表) 特点: 接口,可存放重复元素,元素存取是有序的,允许在指定位置插入元素,并通过索引来访问元素 1.创建一个用指定可视行数初始化的新滚动列表.默认情况下,不允许进行多项选择. ...
- IEnumerable接口的Aggregate方法
以前小猪为了累加一个集合中的类容通常会写出类似这样的C#代码: string result ="": foreach (var item in items) { result+=i ...
- C#类、接口、虚方法和抽象方法0322
虚拟方法和抽象方法有什么区别与联系: 1.抽象方法只有声明没有实现代码,需要在子类中实现:虚拟方法有声明和实现代码,并且可以在子类中重写,也可以不重写使用父类的默认实现. 2.抽象类不能被实例化(不可 ...
- C#中使用委托、接口、匿名方法、泛型委托实现加减乘除算法
使用C#实现加减乘除算法经常被用作新手练习.本篇来分别体验通过委托.接口.匿名方法.泛型委托来实现. 使用委托实现 加减乘除拥有相同的参数个数.类型和返回类型,首先想到了使用委托实现. //创建一个委 ...
- IEnumerable接口的扩展方法
/// <summary>/// IEnumerable接口的扩展方法,支持它的实现类是List的情况/// </summary>using System.Collection ...
随机推荐
- python 最小二乘拟合,反卷积,卡方检验
import numpy as np # from enthought.mayavi import mlab ''' ogrid[-1:5:6j,-1:5:6j] [array([[-1. ], [ ...
- 平行四边形 css实现
首先将 display 设置为 inline-block 或block: 在应用skew(): transform:skewX(-45deg); 但是也会导致平行四边形内的文字倾斜如下 我们可以给文 ...
- Fedora的一些个人配置
0,老传统 yum install screenfetch 1,关闭蜂鸣器 edit /etc/bashrc setterm -blength 0#setterm -bfreq 10 #这个可以设置声 ...
- Android开发 ---如何操作资源目录中的资源文件5 ---Raw资源管理与国际化
效果图: 1.activity_main.xml 描述: 定义两个按钮,一个是Raw资源管理,一个是处理国际化语言,其中i18n表示简体中文 <?xml version="1.0&qu ...
- freemarker中的null异常处理以及!与??的使用(转)
原文链接: https://blog.csdn.net/mexican_jacky/article/details/50638062 阅读数:6304 如工程包含: 在user中我们有个角色,那么我们 ...
- sptring boot 修改默认Banner
一.自定义banner 启动Spring Boot项目时,在控制台或日志中会默认显示一个Banner,如图所示: 在我们的项目中更希望使用自己的Banner,这样看起来更帅写,但是这对于程序员来说并不 ...
- poj3080(kmp+枚举)
Blue Jeans Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 20163 Accepted: 8948 Descr ...
- it网站
1:http://www.importnew.com/ importnew 专注于java的论坛 2:Github是最活跃的开源代码库和版本控制平台,可以说是程序员当中知名度最高的技术社区.各 ...
- Python 基础字典的增删改查
# 字典相关的代码## 1.字典的特性:a 字典的无序性: b 数据关联性强 C 键键值对 唯一一个映射数据类型# 字典的键必修二是可哈希的(不可变的数据类型:,字符串,数字的,布尔值,元祖)# 并且 ...
- 【转】Delphi XE10 Android Splash设备自适应和沉浸式状态条
再次提笔写博客,已经相隔7年,原来的CSDN账号需要手机验证,而我的手机又捆绑到这个账号了,就用新账号吧,不想折腾了. 原账号的帖子,有研究DICOM3.0的可以看下:http://blog.csdn ...