集合框架-去重字串案例
(5)案例:
A:去除集合中的多個字串的重複元素
如果字串的內容相同,即為重複元素
package cn.itcast_04;
import java.util.ArrayList;
import java.util.Iterator;
/*
* ArrayList去除集合中字串的重複值(字串的內容相同)
*
* 分析:
* A:建立集合物件
* B:新增多個字串元素(包含內容相同的)
* C:建立新集合
* D:遍歷舊集合,獲取得到每一個元素
* E:拿這個元素到新集合去找,看有沒有
* 有:不搭理它
* 沒有:就新增到新集合
* F:遍歷新集合
*/
public class ArrayListDemo {
public static void main(String[] args) {
// 建立集合物件
ArrayList array = new ArrayList();
// 新增多個字串元素(包含內容相同的)
array.add("hello");
array.add("world");
array.add("java");
array.add("world");
array.add("java");
array.add("world");
array.add("world");
array.add("world");
array.add("world");
array.add("java");
array.add("world");
// 建立新集合
ArrayList newArray = new ArrayList();
// 遍歷舊集合,獲取得到每一個元素
Iterator it = array.iterator();
while (it.hasNext()) {
String s = (String) it.next();
// 拿這個元素到新集合去找,看有沒有
if (!newArray.contains(s)) {
newArray.add(s);
}
}
// 遍歷新集合
for (int x = 0; x < newArray.size(); x++) {
String s = (String) newArray.get(x);
System.out.println(s);
}
}
}
//上面的while迴圈可以改成for迴圈
/*
for(int x=0;x<array.size();x++){
String arr = (String) array.get(x);
if (!newArray.contains(arr)) {
newArray.add(arr);
}
}
*/
//上面的while迴圈也可以改成這種格式的for迴圈
/*
for (Iterator it = array.iterator(); it.hasNext();) {
String s = (String) it.next();
if (!newArray.contains(s)) {
newArray.add(s);
}
}
*/
方法二:用Set集合去重複,元素新增到新的集合中去,遍歷新集合
public static void main(String[] args) {
// 建立集合物件
ArrayList array = new ArrayList();
// 新增多個字串元素(包含內容相同的)
array.add("hello");
array.add("world");
array.add("java");
array.add("world");
array.add("java");
array.add("world");
array.add("world");
array.add("world");
array.add("world");
array.add("java");
array.add("world");
// 建立新集合
ArrayList newArray = new ArrayList();
Set set = new HashSet();
Iterator it = array.iterator();
while (it.hasNext()) {
String s = (String) it.next();
if (set.add(s)) {
newArray.add(s);
}
}
// 遍歷新集合
for (int x = 0; x < newArray.size(); x++) {
String s = (String) newArray.get(x);
System.out.println(s);
}
}
方法三:用Set集合去重複,元素新增到新的集合中去,清空原集合,新集合新增到原集合中去,遍歷原集合
public static void main(String[] args) {
// 建立集合物件
ArrayList array = new ArrayList();
// 新增多個字串元素(包含內容相同的)
array.add("hello");
array.add("world");
array.add("java");
array.add("world");
array.add("java");
array.add("world");
array.add("world");
array.add("world");
array.add("world");
array.add("java");
array.add("world");
// 建立新集合
List newArray = new ArrayList();
Set set = new HashSet();
Iterator it = array.iterator();
while(it.hasNext()){
String str = (String) it.next();
if(set.add(str)){
newArray.add(str);
}
}
array.clear();
array.addAll(newArray);
// 遍歷原集合
for (int x = 0; x < array.size(); x++) {
String s = (String) newArray.get(x);
System.out.println(s);
}
}
//上面的while迴圈可以改成for迴圈
/*
for (int i = 0; i < array.size(); i++) {
String arr = (String) array.get(i);
if (set.add(arr)){
newArray.add(arr);
}
}
array.clear();
array.addAll(newArray);
*/
//上面的while迴圈也可以改成這種格式的for迴圈
/*
for (Iterator iter = array.iterator(); iter.hasNext();) {
String str = (String) iter.next();
if (set.add(str)){
newArray.add(str);
}
}
array.clear();
array.addAll(newArray);
*/
相關文章
- 集合框架-去重字串案例-2框架字串
- 集合框架-去重自定義物件案例框架物件
- 字串切片去重字串
- 集合框架-HashMap集合的案例框架HashMap
- 集合框架-獲取無重複的隨機數案例框架隨機
- Java 8新特性:字串去重Java字串
- C# 集合交、並、差、去重,物件集合交併差C#物件
- 集合框架-統計字串中每個字元出現的次數案例圖解框架字串字元圖解
- 集合框架-ArrayList集合儲存自定義物件的排序案例框架物件排序
- 集合框架(List儲存字串並遍歷)框架字串
- Python元組、列表、集合及列表去重操作Python
- Java 8 Update 20 的新特性 —— 字串去重Java字串
- 集合框架-統計字串中每個字元出現的次數案例程式碼實現框架字串字元
- G1垃圾回收器中的字串去重字串
- MySQL多列欄位去重的案例實踐MySql
- MapReduce應用案例--簡單的資料去重
- 集合框架-模擬鬥地主洗牌和發牌案例框架
- 面試題目 字串的去重與壓縮(統計)面試題字串
- 【集合框架】Java集合框架綜述框架Java
- 第七篇:經典案例:資料去重
- 集合框架-TreeMap集合框架
- 集合框架-Set集合框架
- 集合框架-TreeSet集合框架
- 集合框架-Collection集合框架
- 集合框架-List集合框架
- 集合框架-HashSet儲存字串、自定義物件並遍歷框架字串物件
- List集合物件去重及按屬性去重的8種方法-java基礎總結系列第六篇物件Java
- 集合框架框架
- 集合框架-集合總結框架
- 集合框架-List集合-2框架
- 集合框架-List集合-3框架
- 集合框架-Collection集合-2框架
- 集合框架-Collection集合-3框架
- 切片去重(string,int型別去重)型別
- Rust 集合與字串Rust字串
- sql 去重SQL
- 列表去重
- 09_ClickHouse,ReplacingMergeTree,案例,根據排序鍵去重,使用版本引數的去重(學習筆記)排序筆記