Stream练习
public class StreamTest1 { public static void main(String[] args) { ArrayList<String> list = new ArrayList<>(); Collections.addAll(list, "haha,18", "xiangxiang,17", "baby,111", "xixi,666"); //转成map集合 Map<String, String> map = list.stream().collect(Collectors.toMap(str -> str.split(",")[0], str -> str.split(",")[1])); System.out.println(map); ...
Stream
public class StreamDemo3 { public static void main(String[] args) { /* Stream流的中间方法: filter 过滤 limit 取用前几个 skip 跳过前几个 distinct 去重,依赖(hashCode和equals方法) concat 合并a流和b流为一个流 //静态方法,用Stream接口名调用 map 类型转换 map() 是一个中间操作方法,作用是把流中的每个元素按照指定的函数进行转换,最终返回一个包含转换后元素的新流。 */ ArrayList<String> list=new ArrayList<>(); ...
不可变集合(.of)
public class ImmutableDemo1 { public static void main(String[] args) { /* 创建不可变集合 */ List<String> list= List.of("haha","xiangxiang","xixi"); System.out.println(list); //list.add("xixi"); for(String s:list){ System.out.println(s); } System.out.println("-----------------"); Iterator<String> it = list.iterator(); ...
随机点名器_带概率,不重复
public class PokerGame2 { //只要牌的对象和只能对应就好了,不用treemap static HashMap<Integer,String> poker=new HashMap<>(); static ArrayList<Integer> list=new ArrayList<>(); static { String [] colors={"♦","♣","♥","♠"}; String []...
collections
public class CollectionsDemo1 { public static void main(String[] args) { //collections是集合的工具类,不是集合 /* public static <T> boolean addAll(Collection<T> c,T...element) 批量添加元素 public static void shuffle(List<?> list) 打乱list集合元素的顺序 */ //1.创建集合 ArrayList<String> list = new ArrayList<>(); //2.批量添加元素 Collections.addAll(list, "haha", "xiangxiang", "baby",...
随机点名器_带概率,不重复
public class test1 { public static void main(String[] args) { //随机点名器 ArrayList<String> list=new ArrayList<>(); Collections.addAll(list,"xiangxiang","baby","haha","xixi","nono","yesyes"); Random r=new Random(); int index=r.nextInt(list.size()); String name=list.get(index); System.out.println(name); //或者是 Collections.shuffle(list); ...
可变参数
public class ArgsDemo1 { public static void main(String[] args) { //可变参数 //方法形参个数可以改变 //格式:数据类型...变量名 //底层是一个数组 //小细节: //1.一个方法的形参列表,只能有一个可变参数 //2.如果方法的形参有多个,那么可变参数必须写在最后面 int sum=getSum(1,2,3,4,5,6,7,8,9,10); System.out.println(sum); } public static int getSum(int...a){ int sum=0; for (int i : a) { sum+=i; } return sum; ...
TreeMap
public class TreeMapDemo1 { public static void main(String[] args) { //integer,double 等默认情况都是升序排列 //String 默认情况是按照首字母的升序排列 TreeMap<Integer,String> tm1=new TreeMap<>(/*new Comparator<Integer>() { @Override public int compare(Integer o1, Integer o2) { return o1-o2;//根据商品价格升序排列 } }*/); tm1.put(1,"haha"); ...
HashMap
public class HashMapTest1 { public static void main(String[] args) { //创建对象 //年龄,名字相同认为是同一个人(要重写hashCode和equals方法) HashMap<Student,String> hm=new HashMap<>(); Student s1=new Student("zhangsan",23); Student s2=new Student("lisi",24); Student s3=new Student("wangwu",25); Student s4=new Student("wangwu",25); hm.put(s1,"北京"); ...
Map
public class MapDemo1 { public static void main(String[] args) { /* V put(K key, V value)//添加元素 V remove(Object key)//根据键删除键值对元素 void clear()//移除所有的键值对元素 boolean containsKey(Object key)//判断集合是否包含指定的键 boolean containsValue(Object value)//判断集合是否包含指定的值 boolean isEmpty()//判断集合是否为空 int size()//集合的长度,也就是集合中键值对的个数 */ //创建集合对象 Map<String,String> map=new HashMap<>(); //1.添加元素 ...

