本文主要是介绍Arraylist,TreeSet,TreeMap的增删改查及遍历,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
ArrayList :
是 Java 中一个动态数组,它基于可变长度数组实现,能够以恒定时间复杂度进行增删改操作,但遍历操作的时间复杂度为 O(n)。
有序,可重复,有索引
增删改查排序:
- **add(E e):**向 ArrayList 的末尾添加一个元素。
- **remove(int index):**从 ArrayList 中删除指定索引处的元素。
- **set(int index, E element):**用给定元素替换 ArrayList 中指定索引处的元素。
- **get(int index):**获取 ArrayList 中指定索引处的元素。
- **list.sort(null):**使用自然排序对列表进行排序。
- **Collections.sort(ArrayList<T> list):**使用归并排序算法对列表进行自然排序(按元素的自然顺序排序)。
toArray()
:返回一个包含 ArrayList 中所有元素的数组。
// 创建一个 ArrayList
ArrayList<String> arrayList = new ArrayList<>();// 增
arrayList.add("Alice");
arrayList.add("Bob");
arrayList.add("Carol");// 删
arrayList.remove(1);// 改
arrayList.set(0, "Alice (updated)");// 查
String firstElement = arrayList.get(0);
TreeSet:
TreeSet 是 Java 中一个有序集合,它基于红黑树实现,能够以对数时间复杂度进行增删改查和遍历操作。
可排序,不重复,无索引。
增删改查:
- **add(E e):**向 TreeSet 中添加一个元素。
- **remove(Object o):**从 TreeSet 中删除一个元素。
- **contains(Object o):**检查 TreeSet 中是否包含给定元素。
- **first():**获取 TreeSet 中最小的元素。
- **last():**获取 TreeSet 中最大的元素。
遍历:
- **iterator():**返回 TreeSet 中元素的迭代器。
- **descendingIterator():**返回 TreeSet 中元素的降序迭代器。
// 创建一个 TreeSet
TreeSet<String> treeSet = new TreeSet<>();// 增
treeSet.add("Alice");
treeSet.add("Bob");
treeSet.add("Carol");// 删
treeSet.remove("Bob");// 查
boolean containsAlice = treeSet.contains("Alice");// 遍历(使用迭代器遍历)
Iterator<String> iterator = treeSet.iterator();
while (iterator.hasNext()) {String name = iterator.next();System.out.println(name);
}// 遍历(使用降序迭代器遍历)
Iterator<String> descendingIterator = treeSet.descendingIterator();
while (descendingIterator.hasNext()) {String name = descendingIterator.next();System.out.println(name);
}
TreeMap :
是 Java 中的一个有序映射,它基于红黑树实现,能够以对数时间复杂度进行增删改查和遍历操作。
可排序,不重复,无索引。
增删改查:
- **put(K key, V value):**向 TreeMap 中插入一个键值对,如果键已存在,则替换旧值。
- **remove(Object key):**从 TreeMap 中删除一个键值对。
- **get(Object key):**获取与给定键关联的值。
- **replace(K key, V value):**用给定值替换与给定键关联的值。
- **containsKey(Object key):**检查 TreeMap 中是否包含给定键。
遍历:
- **keySet():**返回 TreeMap 中所有键的集合。
- **values():**返回 TreeMap 中所有值的集合。
- **entrySet():**返回 TreeMap 中所有键值对的集合。
// 创建一个 TreeMap
TreeMap<String, Integer> treeMap = new TreeMap<>();// 增
treeMap.put("Alice", 10);
treeMap.put("Bob", 20);
treeMap.put("Carol", 30);// 删
treeMap.remove("Bob");// 改
treeMap.replace("Alice", 15);// 查
Integer aliceScore = treeMap.get("Alice");// 遍历(使用 for-each 循环遍历键)
for (String key : treeMap.keySet()) {System.out.println("Key: " + key + ", Value: " + treeMap.get(key));
}// 遍历(使用 for-each 循环遍历值)
for (Integer value : treeMap.values()) {System.out.println("Value: " + value);
}// 遍历(使用 for-each 循环遍历键值对)
for (Map.Entry<String, Integer> entry : treeMap.entrySet()) {System.out.println("Key: " + entry.getKey() + ", Value: " + entry.getValue());
}
这篇关于Arraylist,TreeSet,TreeMap的增删改查及遍历的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!