import java.util.Arrays;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
public class ArrayMerge {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
ArrayMerge m = new ArrayMerge();
m.clearSameElements();
}
public void clearSameElements() {
String[] s = { "one", "two", "two", "three", "three", "three" };
List mList = Arrays.asList(s);
/**
* HashSet是实现Set接口的一个类,具有特点:
* <p>
* 1.不能保证元素的排列顺序
* <p>
* 2.HashSet不是同步的,如果多个线程同时访问一个Set,只要有一个线程修改了Set中的值,
* 就必须进行同步处理,通常通过同步封装这个Set的对象来完成同步,如果
* 不存在这样的对象,可以使用Collections.synchronizedSet()方法完成. Set s =
* Collections.synchronizedSet(new HashSet(...));
* <p>
* 3.元素值可以为null.
* */
Set mSet = new HashSet(mList);
String[] temp = new String[mSet.size()];
Iterator mIt = mSet.iterator();
for (int i = 0; mIt.hasNext(); i++) {
temp[i] = (String) mIt.next();
System.out.print("_____" + temp[i]);
}
}
}
分享到:
相关推荐
- HashSet 不保证元素的顺序,插入顺序无法直接反映。 14. ArrayDeque 和 LinkedList 的对比: - ArrayDeque 基于数组的双端队列,头尾插入删除高效,适合循环缓冲等场景。 - LinkedList 更适合频繁插入和删除,...
ArrayList本质上是一个动态数组,它允许所有元素,包括null。添加、获取和设置元素的操作具有常量时间复杂度。但是,添加元素的效率为分摊的常数,添加n个元素需要O(n)的时间。ArrayList也是非同步的,需要同步时可...
在 `Set` 中,每个元素都是唯一的,即使多次添加相同的元素,实际上只保存一份。 **实现类**: - `HashSet`:基于哈希表实现的 `Set`,插入顺序不保留,查询效率高。 - `LinkedHashSet`:基于哈希表和双向链表实现...
- 数组是一组相同类型的元素集合,支持一维、二维或多维数组。 - 集合框架包括List、Dictionary,TValue>等,泛型提供类型安全和效率。 - HashSet、Queue和Stack等结构满足特定数据管理需求。 7. **异常处理** -...
- ArrayList基于动态数组,适合于频繁访问元素,但在中间插入和删除元素效率较低。 - LinkedList基于链表,插入和删除操作快,但访问元素的效率相对较低。 4. **Array vs ArrayList**:Array是原始的Java数组,而...
- 数组是一种固定大小的数据结构,用于存储相同类型的元素。 #### 集合框架 - **`ArrayList`**: 动态数组实现,支持快速随机访问,但插入和删除操作较慢。 - **`Vector`**: 类似于`ArrayList`,但它是线程安全的。 ...
`==`比较的是对象的引用,而`equals()`方法(在Set的实现类如HashSet或TreeSet中重写)比较的是对象的内容。如果两个对象的内容相同,`equals()`返回`true`。 4. **构造器Constructor**: 构造器不能被重写...
`equals()`用于比较两个Set是否包含相同元素,而`==`检查引用是否指向同一对象。 8. **长度方法**:数组没有`length()`方法,只有`length`属性;而`String`有`length()`方法来获取字符串长度。 9. **sleep()与wait...
字符数组相对于字符串存储敏感信息的优势在于,字符串是不可变的,一旦创建就不能修改,而字符数组可以复制和修改,如果需要清除敏感信息,可以更方便地清零数组。 JVM、JRE和JDK之间的差异已经在前面解释过。 在...
24. HashSet的实现原理是基于HashMap实现,它将元素作为HashMap的键,将一个虚拟对象作为值。 25. ArrayList和LinkedList的区别在于,ArrayList基于动态数组,而LinkedList基于双向链表,LinkedList在插入和删除操作...
例如`ArrayList`支持动态增长的数组行为,`LinkedList`适合频繁插入删除的操作,`HashSet`和`TreeSet`分别提供不重复元素且无序和有序的集合等。 2. **对象与类** 对象是类的一个实例。类是一种数据类型,定义了...
(1)HashSet:基于HashMap实现,不允许重复元素。 (2)TreeSet:基于红黑树实现,不允许重复元素,元素会自动排序。 (3)LinkHashSet:基于HashMap和LinkedList实现,不允许重复元素,维护了一个插入顺序。 4. ...
- **一维数组**:存储同类型元素的序列,可以进行遍历和操作。 - **多维数组**:二维数组或多维数组用于处理表格或矩阵数据。 5. **异常处理** - **异常类**:Java使用异常处理机制处理程序运行时的错误,异常类...
8. **数组**:Java中的数组是一组相同类型的元素集合,可以按索引访问。同时,Java也支持多维数组。 9. **集合框架**:Java集合框架包括接口(如List、Set、Queue)和实现类(如ArrayList、HashSet、LinkedList等)...
- 通常是由编程错误引起的,如访问不存在的数组元素、使用`null`引用等。 - **非运行时异常(检查型异常)**: - 这类异常是非预期性的、通常情况下应由程序处理的异常,如`IOException`、`SQLException`等。 - ...
- Set(如HashSet和TreeSet):HashSet基于HashMap,不保证顺序;TreeSet基于TreeMap,按元素自然排序。 - Map(如HashMap和ConcurrentHashMap):HashMap提供快速查找,非线程安全;ConcurrentHashMap是线程安全...
- **数组**:固定大小的存储同类型元素的序列,有单维、多维和交错数组等形式。 - **集合**:如ArrayList、LinkedList、HashSet等,提供了动态存储和管理对象的能力。 6. **文件与流** - **文件操作**:C#提供了...
1. **使用`HashSet`**:利用集合元素唯一性的特点去除重复项。 2. **JDK 1.8的`distinct()`方法**:在Stream API中提供了`distinct()`方法来去除重复元素。 **六、BIO、NIO、AIO的区别** - **BIO**:同步阻塞IO,...
数组是一种存储相同类型元素的集合。本章介绍了如何声明和初始化数组、如何遍历数组以及如何使用Arrays工具类来进行排序和搜索等操作。此外,还会讨论二维数组和多维数组的应用场景。 #### 第 17 章 容器深入研究 ...
- 数组是用来存储相同类型元素的一种数据结构。 - 数组的长度固定,在创建时确定。 - 数组元素可以通过索引访问,索引从0开始。 - **字符串** - String类用于表示不可变的字符序列。 - StringBuilder和...