1、java条件表达式(三目运算符):表达式 1?表达式 2:表达式 3
//条件表达式的运算规则为:如果表达式 1 的结果为真,以表达式 2 的值作为整个条件表达式的值,否则以表达式 3 的值作为整个条件表达式的值。
prev.next = l1 == null ? l2 : l1;//如果l1==null,则pre.next=l2;否则pre.next=l1
2、length、length()、size()的区别
length不是方法,是属性,数组的属性;
public static void main(String[] args) {
int[] intArray = {1,2,3};
Arrays.sort(intArray);//对数组进行排序,默认从小到大排序
System.out.println("这个数组的长度为:" + intArray.length);
}
length()是求字符串String长度的一个方法;
public static void main(String[] args) {
String str = "HelloWorld";
System.out.println("这个字符串的长度为:" + str.length());
}
size()方法,是求List列表长度的一个方法;
public static void main(String[] args) {
List<String> list = new ArrayList<String>();
//往列表list中添加元素
list.add("a");
list.add("b");
list.add("c");
System.out.println("这个list的长度为:" + list.size());
//取list列表中的元素
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
}
3、Java函数库
//求a,b中的最小值
l = Math.min(a, b);
//取int数据类型的最大取值数
int m = Integer.MAX_VALUE;
4、字符串
String str = "adadsauo";//定义一个字符串
char fir = str.charAt( 0 ); //获取字符串的第一个字符
char i = str.charAt( i ); //获取字符串的第i个字符
int len = str.length(); //获取字符串的长度
// 遍历字符串,toCharArray() 方法将字符串转换为字符数组。
for(char c : str.toCharArray()){
record[c - 'a'] += 1;
}
5、for循环
(1)简单for循环
public class Test {
public static void main(String args[]) {
for(int x = 10; x < 20; x = x+1) {
System.out.print("value of x : " + x );
System.out.print("\n");
}
}
}
(2)增强for循环
Java5 引入了一种增强型 for 循环,主要用来循环遍历数组和集合。
for(元素类型 e : 数组或集合对象) {
//代码句子
}
例如:
int[] arr = {1,2,3};
for(int i : arr) {
System.out.println(i);
}
增强for的冒号左边是定义变量,右边必须是数组或集合类型。例如上例中循环遍历的是arr这个int数组,增强for内部会依次把arr中的元素赋给变量i。
6、java中list和set的区别
两个接口都是继承自Collection,是常用来存放数据项的集合,主要区别如下:
① List和Set之间很重要的一个区别是是否允许重复元素的存在,在List中允许插入重复的元素,而在Set中不允许重复元素存在。
② 与元素先后存放顺序有关,List是有序集合,会保留元素插入时的顺序,Set是无序集合。
③ List可以通过下标来访问,而Set不能。
7、list列表
(1)向list中添加元素
list.add(element);直接给list集合添加元素,先添加的排在集合前边(List集合有序)。
list.add(index,element);给list集合指定的索引’index’,添加元素’element’。
public void addTest(){
/**
* 集合添加元素的方法:
* 1、list.add(element);直接给list集合添加元素,先添加的排在集合前边(List集合有序)。
* 2、list.add(index,element);给list集合指定的索引'index',添加元素'element'。
*/
List<String> list = new ArrayList<String>();
/*方法1、直接添加元素:list.add(element);*/
list.add("元素一");
list.add("元素二");
list.add("元素三");
list.add("元素四");
list.add(null);
list.add("元素三");
list.add(null);
System.out.println("add新增后的list:"+list);//打印结果“add新增后的list:[元素一, 元素二, 元素三, 元素四, null, 元素三, null]”。
/*方法2、给指定的索引添加元素,原来该位置的元素后移:list.add(index, element);*/
list.add(2,"如花");//在索引 2 的位置插入元素“如花”。
System.out.println("add根据索引插入后list:"+list);//打印结果“add根据索引插入后list:[元素一, 元素二, 如花, 元素三, 元素四, null, 元素三, null]”。
/*发现:List集合可以存多个值为 ‘null’的元素,并且打印结果和添加顺序一致,说明List集合有,可重复、有序、能存多个null的特点。*/
}
集合添加(复制)其他集合的方法:
list.addAll(collection);直接将其他集合’collection’的元素,添加到list集合。
list.addAll(index, collection);在集合‘list’索引2的位置开始添加集合‘collection’的全部元素。
public void addAllTest(){
/**
* 集合添加(复制)其他集合的方法:
* 1、list.addAll(collection);直接将其他集合'collection'的元素,添加到list集合。
* 2、list.addAll(index, collection);
*/
List<String> list = new ArrayList<String>();
List<String> list2 = new ArrayList<String>();
List<String> list3 = new ArrayList<String>();
//list添加元素
list.add("元素一");
list.add("元素二");
list.add("元素三");
list.add("元素四");
//list2添加元素
list2.add("王二");
list2.add("张三");
list2.add("李四");
//list3添加元素
list3.add("aaa");
list3.add("bbb");
list3.add("ccc");
list2.addAll(list);//将集合list全部元素添加到集合list2.
list3.addAll(2,list);//在集合list3索引2的位置开始添加集合list的全部元素。
/*打印结果*/
System.out.println("list:"+list); //list:[元素一, 元素二, 元素三, 元素四]
System.out.println("list2:"+list2); //list2:[王二, 张三, 李四, 元素一, 元素二, 元素三, 元素四]
System.out.println("list3:"+list3); //list3:[aaa, bbb, 元素一, 元素二, 元素三, 元素四, ccc]
}
(2)
//首先List<Integer>指的是存int类型数据的列表,List<List<Integer>>指的是存【int类型数据的列表】类型数据的列表--有点“套娃”,大概意思就是这个母列表存子列表,其子列表存int类型的数据。
//List<List<Integer>>初始化
List<List<Integer>> res = new ArrayList<>();
//或者
List<List<Integer>>list =new ArrayList<List<Integer>>();
8、数组
(1)Arrays.asList() 详解
该方法是将数组转化成List集合的方法。
List<String> list = Arrays.asList("a","b","c");
注意:
① 该方法适用于对象型数据的数组(String、Integer…)
② 该方法不建议使用于基本数据类型的数组(byte,short,int,long,float,double,boolean)
③ 该方法将数组与List列表链接起来:当更新其一个时,另一个自动更新
④ 不支持add()、remove()、clear()等方法
用此方法得到的List的长度是不可改变的,当你向这个List添加或删除一个元素时(例如 list.add(“d”);)程序就会抛出异常(java.lang.UnsupportedOperationException)。
总结:如果你的List只是用来遍历,就用Arrays.asList()。 如果你的List还要添加或删除元素,还是乖乖地new一个java.util.ArrayList,然后一个一个的添加元素。