Eget(intindex)+intsize()ListIteratorlistIterator()ListIteratorlistIterator(intindex)
List的遍历
集合的父类Collection接口
集合中元素的去重
package listdemo;
import java.util.ArrayList;
import java.util.List;
/**
* 去除集合中重复的元素
*/
public class ListDemo03 {
public static void main(String[] args) {
List list = new ArrayList();
list.add(new Employee(101,'张三',20,2000.0));
list.add(new Employee(102,'李四',30,3000.0));
list.add(new Employee(103,'王五',20,2000.0));
list.add(new Employee(103,'王五',20,2000.0));
//创建一个新的集合
List newList = new ArrayList();
for(Object obj : list){
if (!newList.contains(obj)){
newList.add(obj);
}
}
list = newList; //把新集合的数据赋值给到老集合
//遍历老集合
for(Object obj : list){
System.out.println(obj);
}
//第二种去除重复的方式
//冒泡,选择,比较equlas
//根据选择排序的思想,从第一个元素依次和后面的每一个元素
for (int i = 0; i < list.size(); i++) {
for (int j = i+1; j < list.size(); j++) {
//进行比较,如果第一个元素和第二个元素是相等
//把第二个元素删除
if (list.get(i).equals(list.get(j))){
list.remove(j);
j--;
}
}
}
for(Object obj : list){
System.out.println(obj);
}
}
}
Eget(intindex)intsize()其他intindexOf(Objecto)intlastIndexOf(Objecto)ListsubList(intfromIndex,inttoIndex)
List接口继承了Collection接口,所以Collection接口的方法List都可以使用.
添加
修改
常用方法
booleanadd(E添加一个元素voidadd(intindex,Eelement)添加某个元素到指定位置booleanaddAll(Collection添加一个集合boolean-addAll(intindex,Collection添加一个集合到指定位置
把集合看做是一个容器,集合不是一个类,是一套集合框架,框架体系包含很多的集合类,javaapi提供了集合存储任意类型集合对元素的增删查改操作起来非常方便的,专门提供很多方便操作的方法开发中经常集合来操作数据的,开发地位比较高的,考虑对数据的操作效率上的问题
List接口
Eremove(intindex)删除指定位置的元素booleanremove(Objecto)删除某个元素booleanremoveAll(Collection>删除一个集合
遍历
使用foreach遍历使用迭代器遍历使用toArray()方法转成数组,再遍历.使用for遍历
public static void main(String[] args) {
Collection c = new ArrayList();
c.add('张三');
c.add('李四');
c.add('王五');
System.out.println(c);
//foreach遍历方式
System.out.println('-------------1');
for(Object obj : c){
System.out.println(obj);
}
//iterator方法,方式二
System.out.println('-------------2');
Iterator it = c.iterator();
while(it.hasNext()){
Object obj = it.next();
System.out.println(obj);
}
System.out.println('-------------3');
//方式三,toArray
Object[] objs = c.toArray();
for(Object o : objs){
System.out.println(o);
}
System.out.println('-------------4');
//方式四
for(Iterator iterator = c.iterator();iterator.hasNext();){
Object obj = iterator.next();
System.out.println(obj);
}
System.out.println('-------------5');
for(Iterator iterator = c.iterator();iterator.hasNext(); System.out.println(iterator.next())){}
}
获取
员工类:
package listdemo;
import java.util.Objects;
public class Employee {
//员工属性, id name age salary
private Integer id;
private String name;
private Integer age;
private Double salary;
public Employee() {
}
public Employee(Integer id, String name, Integer age, Double salary) {
this.id = id;
this.name = name;
this.age = age;
this.salary = salary;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public Double getSalary() {
return salary;
}
public void setSalary(Double salary) {
this.salary = salary;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Employee employee = (Employee) o;
return Objects.equals(id, employee.id) &&
Objects.equals(name, employee.name) &&
Objects.equals(age, employee.age) &&
Objects.equals(salary, employee.salary);
}
@Override
public int hashCode() {
return Objects.hash(id, name, age, salary);
}
@Override
public String toString() {
return 'Employee{' +
'id=' + id +
', name='' + name + ''' +
', age=' + age +
', salary=' + salary +
'}';
}
}
public static void main(String[] args) {
//创建一个list集合
List list = new ArrayList();
//添加的方法
list.add('hello');
list.add('java');
list.add(1,'world'); //添加到指定的位置的元素,添加到第二个位置
list.add('html');
System.out.println(list);
List list2 = new ArrayList();
list2.add('test1');
list2.add('test2');
list2.add('test3');
// list.addAll(list2); //添加一个集合
// System.out.println(list);
list.addAll(2,list2); //添加一个新集合到第一个老集合中指定的位置,下标为2
System.out.println(list);
//删除
// * boolean remove(Object o)
System.out.println(list.remove('java'));
System.out.println(list);
// * E remove(int index)
Object obj = list.remove(1);
System.out.println(obj); //world
System.out.println(list);
// * boolean removeAll(Collection> c)
list.removeAll(list2);
System.out.println('删除新集合之后:' + list);
//修改
// * E set(int index, E element)
Object o = list.set(1, '编程语言');
System.out.println(o);
System.out.println('修改之后:' + list);
// 其他
// * int indexOf(Object o) 从前面往后某个元素的位置
// * int lastIndexOf(Object o) 从后面往前面找某个元素的位置
// * List subList(int fromIndex, int toIndex)
List list3 = new ArrayList();
list3.add('张三');
list3.add('李四');
list3.add('王五');
list3.add('赵六');
list3.add('小编');
int i = list3.indexOf('李四2222');
System.out.println('李四的位置:' + i);
System.out.println('找王五的下标位置:' + list3.lastIndexOf('王五'));
System.out.println(list3);
List newsList = list3.subList(1, 4); //从老集合中截取1-3的位置的元素,并返回一个新的集合
System.out.println(newsList); //1,2的位置的元素,3不包括,
}
遍历
List接口常用方法
删除
booleanadd(E添加某个元素addAll(元素)添加一个集合remove(object)删除一个元素removeAll(collectio删除一个集合clear();//移除所有isEmpty()判断是否为空
public static void main(String[] args) {
//创建集合
Collection c = new ArrayList();
//添加
c.add('张三');
c.add(10);
c.add(false);
c.add('a');
System.out.println(c);
// addAll(元素) 添加一个集合
Collection c2 = new ArrayList();
c2.add('hello');
c2.add('world');
c2.add('java');
c.addAll(c2);
System.out.println(c);
//删除
System.out.println('删除张三元素是否成功:' + c.remove('张三2'));
System.out.println(c);
c.removeAll(c2);
System.out.println('移除c2集合:' + c);
//清空和判断是否为空
// c.clear(); //移除所有
// System.out.println(c); //[]
System.out.println(c.isEmpty()); //判断集合中的元素是否为空,为空返回true,否则false
System.out.println(c.contains('张三222')); //是否包含某个指定的元素,是返回true,否则false
System.out.println('获取集合中的元素个数:' + c.size()); //leng属性
}
文章为作者独立观点,不代表股票交易接口观点