LeetCode刷题知识点笔记---Java基础知识

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,然后一个一个的添加元素。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值