1.1集合只存放引用类型的元素并且集合存放的时元素的引用(地址)
1.2新循环遍历集合
Collection c = new ArrayList();
c.add("one");
c.add("two");
c.add("three");
c.add("four");
/*
* 新循环不是新的语法,jvm并不认可新循环。
* 新循环是编译器认可的,当编译器发现在使用新循环遍历集合时,会将代码改变为使用迭代器遍历,所以使用新循环遍历集合的过程中是不能通过集合的方法增删元素的。
*
*/
for (Object object : c) {
String str = (String)object;
System.out.println(str);
}
1.3集合的操作
boolean addAll(collection c) 将给定的集合中的元素存入到当前集合中 当前集合元素发生了变化则返回true
boolean containsAll(Collection c) 判断当前集合是否包含给定集合中的所有元素
boolean removeAll(Collection c) 删除当前集合中与给定集合的相同元素
1.4遍历集合--集合提供统一的遍历元素的方式:迭代器模式
集合提供了用于获取遍历当前集合元素的方法:
java.util.Iterator
Iteartor iterator()迭代器的接口,规定了遍历集合的方法,遵循的模式为:问,取,删的步骤,其中删除元素不是必须操作。不同的集合实现类都提供了一个可以遍历自身的迭代器实现类。我们无需记住它们的名字,当他们的Iterator看待即可。
boolean hasNext()判断集合是否还有元素可以遍历
E next() 取出集合下一个可以遍历的元素
在使用迭代器遍历集合元素的过程中,不能通过集合的方法增删元素否则会引发迭代器遍历集合的异常,但是迭代器的remove能删除通过next方法取出的元素
1.5新循环--新循环又称为:增强for循环,for each,新循环的作用是用来遍历集合或数组-----新循环是JDK1.5之后推出的一个新特性
使用新循环遍历集合:新循环并非新的语法,JVM并不认可新循环。新循环是编译器认可的,当编译器发现在使用新循环遍历集合时,会将代码改变为使用迭代器遍历。所以使用新循环遍历集合的过程中是不能通过集合的方法增删元素的。如果在新循环中删除元素会抛出异常。
1.6泛型--1.5之后推出的一个特性,泛型是编译器认可泛型的实际类型是Object,在使用的时候编译器会进行检查或自动造型。当对泛型变量赋值时,编译器检查是否符合类型要求获取泛型值时,编译器会补充自动造型的代码。不指定泛型则默认认为object。泛型用来规定集合中的元素类型
1.7List_get_set--java.util.List
List是Collection的子类型接口。是可重复集,并且有序,提供了一套可以根据下标操作元素的方法。
常用实现类:
java.util.ArrayList:数组实现,查询效率高
java.util.LinkedList:链表实现,增删元素效率高尤其是首尾增删元素。
E get(int index) 将指定下标所对应的元素返回
E set(int index,E e) 将给定元素替换集合中指定位置的元素并将被替换元素返回。
1.8List_add_remove:List提供了一对重载的add,remove方法也可以通过下标操作元素删除方法会返回一个删除的元素。
1.9获取List子集:List<E> subList(int startindex,int endindex) 截取集合中指定位置的元素,并返回截取的元素;操作获取的子集的时候就等于操作原有集合
1.10集合转换为数组 ---Collection中提供了将当前集合转换为一个数组的方法
E[] array= c.toArray(new E[c.size()]);将集合转换为数组,传一个泛型数组并设置长度,如果设置长度不够也会返回一个刚好和元素相等的数组,如果参数长度大于原有数组,则返回输入长度的数组,没有元素的位置为null。
1.11数组转换为集合---List<String> list = Arrays.asList(array);将数组转化为集合,操作返回后的集合等于操作原来的数组,并且不能增删元素,如果想增加元素需要新建一个数组将返回数组的值传入并操作。
List<String> list1 = new ArrayList<String>(list);这个方法可以在创建新数组的同时将原有数组的元素添加进来。

我是初学者,如有更新不好的,欢迎这位大神指出,谢谢大家!

更多精彩以后更新,转载注明!

java-Collection,List简单使用与方法/(集合使用-中)的更多相关文章

  1. Bootstarp的安装以及简单的使用方法(pycharm中)

    一.安装 首先打开Bootstarp的官网:https://v3.bootcss.com 下载完成后,解压压缩包,把解压后的文件导入pycham中 在HTML页面中的style中导入bootstrap ...

  2. java线程的简单实现及方法

    java线程: 线程是一个程序内部的顺序控制流. cpu实际上在一个时间点上,只执行一个.只不过我们把cpu分成了多个时间片,由于速度很快,我们看起来像是多个线程.. 就像你的时间分成几片,这样 整体 ...

  3. Java实现一个简单的缓存方法

    缓存是在web开发中经常用到的,将程序经常使用到或调用到的对象存在内存中,或者是耗时较长但又不具有实时性的查询数据放入内存中,在一定程度上可以提高性能和效率.下面我实现了一个简单的缓存,步骤如下. 创 ...

  4. Java - Collection 高效的找出两个List中的不同元素

    如题:有List<String> list1和List<String> list2,两个集合各有上万个元素,怎样取出两个集合中不同的元素? 方法1:遍历两个集合 public ...

  5. java反射的补充:桥接方法以及Spring中一些工具类

    在上一篇博文中:http://www.cnblogs.com/guangshan/p/4660564.html 源码中有些地方用到了 this.bridgedMethod = BridgeMethod ...

  6. 【java基础 13】两种方法判断hashmap中是否形成环形链表

    导读:额,我介绍的这两种方法,有点蠢啊,小打小闹的那种,后来我查了查资料,别人都起了好高大上的名字,不过,本篇博客,我还是用何下下的风格来写.两种方法,一种是丢手绢法,另外一种,是迷路法. 这两种方法 ...

  7. Java Collection集合方法

    一.简单方法 package cn.itcast.day15; import java.util.ArrayList; import java.util.Arrays; import java.uti ...

  8. Java集合框架中List接口的简单使用

    Java集合框架可以简单的理解为一种放置对象的容器,和数学中的集合概念类似,Java中的集合可以存放一系列对象的引用,也可以看做是数组的提升,Java集合类是一种工具类,只有相同类型的对象引用才可以放 ...

  9. Java collection 的一些介绍 集合

    collections主要提供一些,排序的算法,随机的,反向的,  collection 是容器的祖先接口 线性表,链表,哈希表是常用的数据结构,在进行Java开发时,JDK已经为我们提供了一系列相应 ...

  10. 牛客网Java刷题知识点之Java 集合框架的构成、集合框架中的迭代器Iterator、集合框架中的集合接口Collection(List和Set)、集合框架中的Map集合

    不多说,直接上干货! 集合框架中包含了大量集合接口.这些接口的实现类和操作它们的算法. 集合容器因为内部的数据结构不同,有多种具体容器. 不断的向上抽取,就形成了集合框架. Map是一次添加一对元素. ...

随机推荐

  1. 分布式任务调度ScheduleMaster

    1.什么是ScheduleMaster ScheduleMaster是分布式任务调度系统.简称:集中任务调度系统,最简单的理解ScheduleMaster,就是对不同的系统里面的调度任务做统一管理的框 ...

  2. SQL中的数字、字母和汉字

    知识点001 当变量的数据类型为VARCHAR时,变量赋值后,变量中的字符所占字节数,数字和字母是1个bytes,汉字是2个bytes; 当变量的数据类型为NVARCHAR时,变量赋值后,变量中的字符 ...

  3. 代码模板整理(0):先水一波a+b

    梦开始的地方 "Hello World!" #include<bits/stdc++.h> using namespace std; int main(){ cout& ...

  4. 使用 content-visibility 优化渲染性能

    最近在业务中实际使用 content-visibility 进了一些渲染性能的优化. 这是一个比较新且有强大功能的属性.本文将带领大家深入理解一番. 何为 content-visibility? co ...

  5. 【Spring】事务的执行原理(三)

    事务的回滚 如果获取事务属性不为空,并且抛出的异常是RuntimeException或者Error类型,调用事务管理器中的rollback方法进行回滚 如果事务属性为空或者抛出的异常不是Runtime ...

  6. Kubebuilder模块

    CRD创建 Group表示CRD所属的组,它可以支持多种不同版本.不同类型的资源构建,Version表示CRD的版本号,Kind表示CRD的类型 kubebuilder create api --gr ...

  7. Linux文本三剑客-sed

    sed工作原理: sed: Stream Editor.流编辑器 --- 属于行编辑工具 sed和vim一样都是文本编辑工具. 行编辑工具:一行一行处理文件内容 全屏编辑工具:一次性将文件内容加载到内 ...

  8. python超级有用的实战项目,拿走不谢~

    写在前面的一点P话: Python是目前最好的编程语言之一.由于其可读性和对初学者的友好性,已被广泛使用. 那么要想学会并掌握Python,可以实战的练习项目是必不可少的. 直接上第一个项目~ 猜字游 ...

  9. Python爬虫+数据可视化教学:分析猫咪交易数据

    猫猫这么可爱 不会有人不喜欢吧: 猫猫真的很可爱,和我女朋友一样可爱~你们可以和女朋友一起养一只可爱猫猫女朋友都有的吧?啊没有的话当我没说-咳咳网上的数据太多.太杂,而且我也不知道哪个网站的数据比较好 ...

  10. NC14661 简单的数据结构

    NC14661 简单的数据结构 题目 题目描述 栗酱有一天在网上冲浪的时候发现了一道很有意思的数据结构题. 该数据结构形如长条形. 一开始该容器为空,有以下七种操作. 1 a从前面插入元素a 2 从前 ...