下面是使用Groovy语言实现平均分配的示例代码:

def assignOrdersToUsers(List<String> userCodes, List<String> orderCodes) {
    def assignedOrders = [:]
    int numUsers = userCodes.size()
    int numOrders = orderCodes.size()
    int ordersPerUser = numOrders / numUsers
    int extraOrders = numOrders % numUsers
    
    for (int i = 0; i < numUsers; i++) {
        int startIndex = i * ordersPerUser + Math.min(i, extraOrders)
        int endIndex = startIndex + ordersPerUser + (i < extraOrders ? 1 : 0)
        List<String> assignedOrderCodes = orderCodes.subList(startIndex, endIndex)
        assignedOrders[userCodes[i]] = assignedOrderCodes
    }
    
    return assignedOrders
}

// 示例用法
def userCodes = ["user1", "user2", "user3"]
def orderCodes = ["order1", "order2", "order3", "order4", "order5", "order6"]

def assignedOrders = assignOrdersToUsers(userCodes, orderCodes)
assignedOrders.each { user, orders ->
    println("User: $user, Orders: $orders")
}

输出结果将是:

User: user1, Orders: [order1, order2]
User: user2, Orders: [order3, order4]
User: user3, Orders: [order5, order6]

这个示例代码将订单平均分配给用户,并将结果存储在一个Map中,其中键是用户代码,值是分配给该用户的订单代码列表。如果订单不能均匀分配,则额外的订单将按顺序依次分配给用户

groovy 两个list string 一个代码用户code 另一个代表订单code 平均分配

原文地址: http://www.cveoy.top/t/topic/imJt 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录