程序员==java基础==集合2
来源:互联网 发布:最新网络潮语 编辑:程序博客网 时间:2024/04/25 11:53
去除ArrayList中重复字符串元素方式
package com.heima.genreic; import java.util.ArrayList;import java.util.Iterator; /创建ArrayList 集合,增加泛型 1. 给集合中添加字符串, 并去除重复 2. 给集合添加Person 对象, 并去除重复 3.ArrayList存储字符串并遍历泛型版 4.ArrayList 存储定义对象Student 并遍历/public class Z1 { public static void main(String[] args) { ArrayList<String> arrlist = new ArrayList<String>(); ArrayList<String> newarrlist = new ArrayList<String>(); arrlist.add("abcder"); arrlist.add("123456"); arrlist.add("abcder"); arrlist.add("a"); //System.out.println(arrlist); deme1(arrlist, newarrlist); System.out.println(newarrlist); //deno2(newarrlist); } / private static void deno2(ArrayList<String> newarrlist) { Iterator<String> it1=newarrlist.iterator(); while (it1.hasNext()) { String str1 = (String) it1.next(); System.out.println(str1); } }/ private static void deme1(ArrayList<String> arrlist,ArrayList<String> newarrlist) { Iterator<String> it= arrlist.iterator(); while (it.hasNext()) { String st = it.next();// System.out.println(st+"st是什么怪"); if (!newarrlist.contains(st)) { newarrlist.add(st); }// System.out.println(st); } } }
去除ArrayList中重复自定义对象元素
首先要有自定义的类,相当于Javabean;
要重新equal方法
package com.heima.genreic; import java.util.ArrayList;import java.util.Iterator; import org.ietf.jgss.Oid; /2. 给集合添加Person 对象, 并去除重复 /public class Z2 { public static void main(String[] args) { ArrayList<person> oldlist =new ArrayList<person>(); ArrayList<person> newist =new ArrayList<person>(); oldlist.add(new person("张三",7)); oldlist.add(new person("张三",7)); oldlist.add(new person("李四",17)); oldlist.add(new person("李四",18)); oldlist.add(new person("李四",17)); Iterator<person> it = oldlist.iterator(); //在调用之前要重写peron的toString方法。 while (it.hasNext()) { person p = it.next(); if (!newist.contains(p)) { newist.add(p); } } System.out.println(newist); } }class person{ private String name; private int age; public person() { super(); } public person(String name, int age) { super(); this.name = name; this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } @Override public String toString() { return "person [name=" + name + ", age=" + age + "]"; } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; person other = (person) obj; if (age != other.age) return false; if (name == null) { if (other.name != null) return false; } else if (!name.equals(other.name)) return false; return true; } }
三种迭代的能否删除
普通for循环,可以删除,但是索引要
String[] ss = list.toArray(new String[list.size()]);//集合for (inti = 0; i < arr.length; i++) {//遍历数组并交换 if (i == a) { temp = arr[i]; arr[i] = arr[b]; arr[b] = temp; }
迭代器,可以删除,但是必须使用迭代器自身的remove方法,否则会出现并发修改异常
/
Iterator <String> it=list.iterator(); while (it.hasNext()) { String st = it.next(); System.out.println(st); }/
变形迭代
for (Iterator iterator = oldlist.iterator(); iterator.hasNext();) {//迭代循环并获取 Person per = (Person) iterator.next(); if (p.getAge()<per.getAge()) {//判断是否相等 p=per; }
增强for循环不能删除
增强for概述
简化数组和Collection集合的遍历,输入fore,之后alt+/提示后自动补全
B:格式:
for(元素数据类型变量 :数组或者Collection集合) {
使用变量即可,该变量就是元素
}
作用
用于数组和集合的遍历
for (String st : list1) {//z增强for循环遍历 System.out.println(st); }
总结
普通for循环,可以删除,但是索引要--
迭代器,可以删除,但是必须使用迭代器自身的remove方法,否则会出现并发修改异常
增强for循环不能删除
1 0
- 程序员==java基础==集合2
- 程序员==java基础===集合
- 程序员==java基础==集合3
- java基础==集合
- 黑马程序员 Java基础 集合2
- 黑马程序员--Java基础--04-集合2
- 黑马程序员-JAVA基础-集合
- 黑马程序员-java基础-集合
- 黑马程序员-->Java基础-->集合
- 黑马程序员-java基础-集合
- 【黑马程序员】---java基础---集合
- 黑马程序员-Java基础---集合
- 黑马程序员----JAVA基础----集合
- 黑马程序员--java基础--集合
- 黑马程序员------------------java基础--------------------集合
- 黑马程序员-Java基础:集合
- 黑马程序员 Java基础 集合
- 黑马程序员--java基础--集合
- codeforce690A2 Collective Mindsets (medium) (from :Helvetic Coding Contest 2016 online mirror )
- 获取联系人
- 在Sublime中搭建SpiderMonkey编译环境
- DAV 入门之 MATLAB (4):明确设计
- android中xml tools属性详解
- 程序员==java基础==集合2
- hdu-1241Oil Deposits(dfs 找出不同的区块)
- 使用JDBC查询数据库的代码
- Java集成Weka做逻辑回归(Logistic Regression)
- leetcode 系列
- struts2中关于使用自定义的拦截器后,从页面提交过来的bean的参数的值为null的误区及解决
- 如何记住源码实现
- java正则表达式
- 匈牙利算法模板