zoukankan      html  css  js  c++  java
  • IntUnaryOperator

    将函数,变为,参数传入

    1.  是一个接口,就是将一个对int类型的操作当一个参数传入进来。

      关键函数:applyAsInt(int operand)

      对一个参数operand进行一些操作,最后返回个int类型。

    package _4;
    
    import java.util.function.IntUnaryOperator;
    
    public class MyIntUnaryOperator {
        private static int value = 1;
    
    
        public static void main(String[] args) {
    
            My1 my1 = new My1();
    
            System.out.println(getAndUpdate(my1));
        }
    
        //将这个操作当成参数传入,
        public static int getAndUpdate(IntUnaryOperator intUnaryOperator){
            int next ;
            //获取一个value,对他进行一些操作,直接得到next
            next = intUnaryOperator.applyAsInt(MyIntUnaryOperator.value);
    
            return next;
        }
    
    
        //定义一个类实现这个接口
        public static class My1 implements  IntUnaryOperator{
    
            @Override
            public int applyAsInt(int operand) {
    
                return operand + 1;
            }
        }
    }

    2.  在AtomicInteger中的应用

      首先获取到原来的值,然后,进行一些操作,最后更新它

    next = updateFunction.applyAsInt(prev); 获取并计算新的结果,最后调用compareAndset函数进行更新操作。。
     public final int getAndUpdate(IntUnaryOperator updateFunction) {
            int prev, next;
            do {
                prev = get();
                next = updateFunction.applyAsInt(prev);
            } while (!compareAndSet(prev, next));
            return prev;
        }
  • 相关阅读:
    数组(array)
    亲戚(relative)
    [ZJOI2016]小星星
    P4782 【模板】2-SAT 问题
    CF1065F Up and Down the Tree
    CF1065C Make It Equal
    CF1060F Shrinking Tree
    CF1060E Sergey and Subway(点分治)
    CF1060D Social Circles
    CF1060C Maximum Subrectangle
  • 原文地址:https://www.cnblogs.com/da-peng/p/9899633.html
Copyright © 2011-2022 走看看