JAVA集合训练代码以及注释(自己看的)
2021/7/19 20:42:04
本文主要是介绍JAVA集合训练代码以及注释(自己看的),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
LinkedList
package June11; import java.util.*; public class test { public static void main(String[] args) { List<String> list = new LinkedList<String>(); list.add("123"); list.add(0, null); for(int i = 0;i < list.size();i ++) { System.out.print(list.get(i) + " "); } //ListIterator<T> 是一个泛型。泛型T是不可以缺少的 //list.listIterator()返回的是ListIterator迭代器 //list.iterator()返回的是Iterator迭代器 //两个迭代器的类型是不一样的,可以通过强制转换将iterator转换成listiterator ListIterator<String> iterator = list.listIterator(); iterator.next(); iterator.add("12"); for(int i = 0;i < list.size();i ++) { System.out.print(list.get(i) + " "); } //previous与remove的组合删除的是迭代器右边的元素 iterator.previous(); iterator.remove(); for(int i = 0;i < list.size();i ++) { System.out.print(list.get(i) + " "); } //next与remove的组合删除的是迭代器左边的值 iterator.next(); iterator.remove(); for(int i = 0;i < list.size();i ++) { System.out.print(list.get(i) + " "); } //反向遍历LinkedList iterator.add("111"); while(iterator.hasPrevious()) { System.out.print(iterator.previous() + " "); } //正向反向同时遍历LinkedList //由于没有对LinkedList做修改,即不会出现ConcurrentModificationException异常 ListIterator<String> iterator_error = list.listIterator(); System.out.println(); while(iterator.hasNext()) { iterator.next(); } while(iterator_error.hasNext() && iterator.hasPrevious()) { System.out.println("iterator_error`s value is " + iterator_error.next() + " iterator`s value is " + iterator.previous()); } } }
散列集的实现(个人认为大体是这么实现的)
package IteratorStudy; import javax.swing.*; import java.util.*; import java.util.function.IntFunction; import java.lang.*; public class ReviewIterator { public static void main(String[] args){ LinkedList<String>[] a = new LinkedList[100]; for(int i = 0;i < 100;i ++) { a[i] = new LinkedList<>(); } String[] s = new String[3]; s[0] = "abc"; s[1] = "abc"; s[2] = "acd"; for(int i = 0;i < s.length;i ++) { int code = 0; for(int j = 0;j < s[i].length();j ++) { code += (int)s[i].charAt(j) * (int)s[i].charAt(j); } int index = code % 100; // System.out.println(index); ListIterator<String> iter = a[index].listIterator(); //System.out.println(iter.hasNext()); if(iter.hasNext() == false) { iter.add(s[i]); continue; } boolean flag = false; while(iter.hasNext()) { if(iter.next().equals(s[i])){ flag = true; break; } } if(flag == false) iter.add(s[i]); } for(int i = 0;i < 100;i ++) { ListIterator aIter = a[i].listIterator(); while(aIter.hasNext()) { System.out.println(aIter.next() + " "); } } } }
HashSet
package IteratorStudy; import java.util.HashSet; import java.util.Iterator; public class StudyHashset { public static void main(String[] args){ /*HashSet<Integer> a = new HashSet<Integer>(100,0.75F); Integer[] s = new Integer[10]; for(int i = 0;i < s.length;i ++) s[i] = 0; s[1] = 123; s[2] = 234; s[3] = 123; for(int i = 0 ;i < s.length;i ++) { a.add(s[i]); System.out.println(s[i].hashCode()); } Iterator iterator = a.iterator(); while(iterator.hasNext()) { System.out.println(iterator.next()); }*/ String[] s1 = new String[10]; HashSet<String> hashSet = new HashSet<String>(); for(int i = 0;i < s1.length;i ++) s1[i] = new String(); s1[0] = "aac"; s1[1] = "abc"; s1[2] = "acc"; s1[3] = "adc"; for(int i = 0;i < s1.length;i ++) { hashSet.add(s1[i]); System.out.println(s1[i].hashCode()); } Iterator i1 = hashSet.iterator(); while(i1.hasNext()) System.out.println(i1.next()); } }
TreeSet
package IteratorStudy; import java.util.*; public class StudyTreeSet { public static void main(String[] args){ SortedSet<Integer> sortedSet = new TreeSet<>(); sortedSet.add(1); sortedSet.add(2); sortedSet.add(3); // System.out.println(sortedSet.first() + " " + sortedSet.last()); NavigableSet<Integer> navigableSet = new TreeSet(); navigableSet.add(1); navigableSet.add(1); navigableSet.add(2); // System.out.println(navigableSet.higher(3)); // System.out.println(navigableSet.lower(2)); Iterator iterator = navigableSet.descendingIterator(); while(iterator.hasNext()) { System.out.println(iterator.next()); } } }
Queue
package IteratorStudy; import java.util.ArrayDeque; import java.util.Deque; import java.util.Queue; import java.util.concurrent.DelayQueue; public class StudyQueue { public static void main(String[] args){ Queue queue = new ArrayDeque(); queue.add(1); queue.add(2); queue.offer(2); queue.offer(3); // System.out.println(queue.offer(4)); while(queue.isEmpty() == false){ // System.out.println(queue.peek()); queue.remove(); } Deque deque = new ArrayDeque(); deque.offerFirst(1); deque.offerFirst(2); deque.offerLast(3); System.out.println(deque.peekFirst() + " " + deque.peekLast()); while(deque.isEmpty() == false) System.out.println(deque.pollFirst()); } }
优先级队列
package IteratorStudy; import java.util.PriorityQueue; public class StudyPriorityQueue { public static void main(String[] args){ PriorityQueue<String> priorityQueue = new PriorityQueue<>(); priorityQueue.add("Abc"); priorityQueue.add("121"); /* for(String item : priorityQueue) { System.out.println(item); }*/ PriorityQueue<Integer> integerPriorityQueue = new PriorityQueue<>(); integerPriorityQueue.add(1); integerPriorityQueue.add(2); integerPriorityQueue.add(-1); while(!integerPriorityQueue.isEmpty()) { System.out.println(integerPriorityQueue.poll()); } } }
Map三种视图
package IteratorStudy; import java.util.*; public class StudyMap { public static void main(String[] args){ Map<String,Integer> map = new HashMap<>(); map.put("a",65); map.put("b",66); //键集视图 /* Set set = map.keySet(); Iterator iterator = set.iterator(); while(iterator.hasNext()) { System.out.println(iterator.next()); } */ //值集 /* Collection collection = map.values(); Iterator iterator = collection.iterator(); while(iterator.hasNext()) { System.out.println(iterator.next()); } */ //键/值对 /* Set set = map.entrySet(); Iterator iterator = set.iterator(); while(iterator.hasNext()) { System.out.println(iterator.next()); } */ } }
链接散列集
Map<String,Integer> ch = new LinkedHashMap<>(128,0.75F,true){ @Override protected boolean removeEldestEntry(Map.Entry<String, Integer> eldest) { return size() > 2; } }; ch.put("1",2); ch.put("2",3); ch.put("3",4); Set set = ch.entrySet(); Iterator iterator = set.iterator(); while(iterator.hasNext()) { System.out.println(iterator.next()); }
轻量级集合包装器
package IteratorStudy; import java.util.*; public class StudyBaoZhuangQi { public static void main(String[] args){ /* Tree[] tree = new Tree[2]; System.out.println(tree[1]); if(tree[1] == null) System.out.println("YES"); //将tree数组转换成实现了List接口方法的一个对象 //这个对象的所有操作都是对原来数组的操作。 //一切对于数组大小规模的操作都是不支持的,会抛出UnsupportedOperationException异常 List<Tree> list = Arrays.asList(tree); Iterator iterator = list.iterator(); */ List<Integer> list1 = Collections.nCopies(4,2); Iterator iterator1 =list1.iterator(); // list1.set(1,3); list1.add(2); while(iterator1.hasNext()){ System.out.println(iterator1.next()); } } } class Tree{ int a = 0; public Tree(int i){ a = i; } }
这篇关于JAVA集合训练代码以及注释(自己看的)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-01后台管理开发学习:新手入门指南
- 2024-11-01后台管理系统开发学习:新手入门教程
- 2024-11-01后台开发学习:从入门到实践的简单教程
- 2024-11-01后台综合解决方案学习:从入门到初级实战教程
- 2024-11-01接口模块封装学习入门教程
- 2024-11-01请求动作封装学习:新手入门教程
- 2024-11-01登录鉴权入门:新手必读指南
- 2024-11-01动态面包屑入门:轻松掌握导航设计技巧
- 2024-11-01动态权限入门:新手必读指南
- 2024-11-01动态主题处理入门:新手必读指南