JAVA 笔记之第十六天

来源:互联网 发布:c语言计算闰年个数 编辑:程序博客网 时间:2024/04/28 07:33

1.去除ArraysList中重复的元素

a.思路

1)创建一个新的集合。

2)遍历原来的集合。

3)拿原来的集合元素 判断新集合是否包含集合中的元素。

4)如果包含则不添加否则添加。

b.代码示例

public class demo6 {

public static void main(String[] args) {

ArrayList<String> list=new ArrayList<>();

list.add("aaa");

list.add("aaa");

list.add("bbb");

list.add("bbb");

list.add("ccc");

list.add("ccc");

ArrayList<String> newlist=getgel(list);

System.out.println(newlist);

}

private static ArrayList<String> getgel(ArrayList<String> list) {

ArrayList<String> list1=new ArrayList<>();

Iterator<String> it=list.iterator();

while(it.hasNext()){

String str=it.next();

if(!list1.contains(str)){

list1.add(str);

}

}

return list1;

}

}

2.Arrayslist存储自定义对象并去掉重复元素

a.注意:必须重写equals()方法

b.代码示例

public class demo7 {

public static void main(String[] args) {

ArrayList<student> list=new ArrayList<>();

list.add(new student("沈正凯",21));

list.add(new student("沈正凯",21));

list.add(new student("李感恩",21));

list.add(new student("李感恩",21));

list.add(new student("王亚飞",21));

list.add(new student("王亚飞",21));

ArrayList<student> newlist=getgel(list);

System.out.println(newlist);

}

private static ArrayList<student> getgel(ArrayList<student> list) {

ArrayList<student> list1=new ArrayList<>();

Iterator<student> it=list.iterator();

while(it.hasNext()){

student stu=it.next();

if(!list1.contains(stu)){

list1.add(stu);

}

}

return list1;

}

}

3.LinkedList:

a.特点:查询慢增删快

b.特有方法

1)addFirst()

2)addLast()

3)getFirst()

4)getLast()

5) removeFirst()

6) removeLast()

4.泛型

a.优点

1)提高了安全性(也就是把运行是的错误提前到编译的时间)。

2)避免了强制类型转换。

3)让程序更简洁。

注意:泛型必须是引用数据类型,前后泛型要保持一致。

5.泛型类

a.使用步骤:

1)定义泛型

2)使用泛型

3)为泛型赋值

6.泛型通配符

a. ?任意类型

b.?extends EE以及E的子类。

c. ? super E: E以及E的父类。

7.增强for

a.格式:

for(数据类型 变量:数组或者collection集合){

}

注意:增强for本质上是for循环 在遍历集合的时候,底层其实是迭代器。

}

注意:

1.增强for循环本质上就是for循环。

2.增强for循环在遍历集合的时候,底层其实是迭代器。

8.静态导入

格式:

import static 包名.类名.方法名;

9.可变参数

格式:

方法名(数据类型... 变量名){}

注意:

1)可变参数本质上是一个数组。

2)一个方法中只能有一个可变参数。

3)可变参数必须放在参数列表的最后。

10.集合和数组之间的转换

集合 ---> 数组:通过toArray()方法。

a. Object[] toArray();

b.T[] toArray(T[] a);

String[] arr = list.toArray(new String[0]);

注意:

1.这是把list转换为String[]类型的数组

2.参数数组的长度最好写成0,则最后产生的数组长度和集合元素的个数相同。

数组 ---> 集合:通过Arrays类的asList方法转换。

static <T> List<T> asList(T... a)

注意:

转换后的集合,长度不允许改变。

0 0
原创粉丝点击