一、List基础知识
Java中的List是一个有序的集合,它允许我们在集合中插入、查找、删除元素。List中可以存放任意类型的对象,包括String、Integer、Double等等。
为了使用List,我们需要先导入List类所在的包:java.util。接下来,我们可以创建一个空的List对象,例如:
Listlist = new ArrayList ();
这样就创建了一个String类型的List对象。
接下来,我们可以向List中添加元素:
list.add("apple"); list.add("banana"); list.add("orange");
通过List的add()方法向其中添加元素。List中的元素是按照插入顺序存储的,所以元素的顺序同添加的顺序一致。
二、List的查找
1、使用indexOf()方法查找元素
我们可以使用List的indexOf()方法查找某个元素在List中的位置,例如:
int index = list.indexOf("banana"); System.out.println("banana在List中的位置是:" + index);
这里通过indexOf()方法查找"banana"在List中的位置。
2、使用contains()方法查找元素是否存在
我们还可以使用List的contains()方法判断某个元素是否在List中存在,例如:
boolean hasApple = list.contains("apple"); System.out.println("List中是否存在apple:" + hasApple);
这里通过contains()方法判断"apple"是否存在于List中。
3、使用filter过滤元素
另一种查找元素的方式是使用filter方法,它可以根据特定条件筛选出符合条件的元素。例如,我们可以筛选出长度为3的单词:
ListresultList = list.stream().filter(s -> s.length() == 3).collect(Collectors.toList()); for (String word : resultList) { System.out.println(word); }
在这个例子中,我们使用了Java 8中的Lambda表达式来定义筛选条件,filter()方法会根据这个条件对List中的元素进行筛选,并将符合条件的元素放入resultList中。
三、List的排序
1、使用Collections.sort()方法排序
Collections是Java中常用的工具类,其中包括了对集合进行排序的方法。我们可以使用Collections.sort()方法对List进行排序,例如:
Listnumbers = new ArrayList (); numbers.add(5); numbers.add(3); numbers.add(8); numbers.add(2); Collections.sort(numbers); for (Integer number : numbers) { System.out.println(number); }
这个例子中,我们使用Collections.sort()方法对List中的整数进行排序,并输出排序后的结果。
2、使用Comparator.comparing()方法排序
Java 8中新增了一种排序方式,使用Comparator.comparing()方法进行对象的排序。例如,我们可以对Person对象按照年龄排序:
class Person { private String name; private int age; public Person(String name, int age) { this.name = name; this.age = age; } public String getName() { return name; } public int getAge() { return age; } } Listpeople = new ArrayList (); people.add(new Person("David", 28)); people.add(new Person("Alice", 25)); people.add(new Person("Bob", 30)); Collections.sort(people, Comparator.comparing(Person::getAge)); for (Person person : people) { System.out.println(person.getName() + " " + person.getAge()); }
在这个例子中,我们定义了一个Person类,包含姓名和年龄两个属性。使用Comparator.comparing()方法可以对List中的Person对象按照年龄进行排序。