1.拓展
前端:IOS android H5 jsp
后台:
服务器:java,net,php,c++,c#,asp,golang,python
数据库:mysql,oracle,DB2,HBase,MongoDB,dedis,sqlserver
大数据:hadoop,HDFS,sqoop,flume,spark,hive,yarn,scale,kafuka,zookeeper,mr
2.lambda表达式
lambda是java8中的新特性
只有一个抽象方法的接口
lambda表达式是简单的匿名内部类
匿名内部类实现的抽象方法的方法体允许调用接口中定义的默认方法,但lanbda表达式不允许
InterfaceName a=(参数)–>{方法体}
基本语法:
(参数)->表达式 或者 (参数)->{方法体}
lambda可以直接作为函数参数
lambda中的全局变量可以直接用,局部变量会默认添加final,不可以更改
3.集合
List的遍历
//list.forEach(System.out::println);
//list.forEach(->System.out.print(" "));
迭代器:Iterator
while(iterator1.hasNext()){System.out.print(iterator1.next());}
原理:开始指针指向第一个位置,使用hasnext()方法判断,返回true,在使用next()方法获取当前的值并将指针后羿一个位置,依次重复,直到指针指向了集合末尾,再次调用hasnext()方法,返回false,结束遍历;
hasNext():判断当前位置是否有元素,有就返回true,没有就返回false
next():将当前位置的值取出来,并且将指针向后移动一个位置
List有序且可以重复
ArrayList:底层的数据结构是数组,线程不安全,查找快,添加删除慢
Vector:底层的数据结构是数组,线程安全,查找快,添加删除慢
LinkedList:底层的数据结构是链表,线程不安全,查找慢,添加删除快 可以在List前后插入元素
ListIterator iterator1=List.listIterator();
ListIterator有add,set,remove方法;
Set无序且不重复
HashSet(底层是哈希表)去除重复值,先调用hashCode(),再调equals方法,
TreeSet(底层是二叉树)去除重复值,字典顺序排序;重写了Comparable下的toCompare();
4.泛型
可以使用的位置:类,方法,接口
进行了容错处理