Значение свойства Multine, включая комментарии в файле свойств Java [duplicate]

Я слишком поздно в игре для этого, но вы можете сделать сравнение производительности некоторых из вышеупомянутого кода с этим, два из самых быстрых соперников:

list(set(x).symmetric_difference(set(y)))
list(set(x) ^ set(y))

Извиняюсь для элементарного уровня кодирования.

import time
import random
from itertools import filterfalse

# 1 - performance (time taken)
# 2 - correctness (answer - 1,4,5,6)
# set performance
performance = 1
numberoftests = 7

def answer(x,y,z):
    if z == 0:
        start = time.clock()
        lists = (str(list(set(x)-set(y))+list(set(y)-set(y))))
        times = ("1 = " + str(time.clock() - start))
        return (lists,times)

    elif z == 1:
        start = time.clock()
        lists = (str(list(set(x).symmetric_difference(set(y)))))
        times = ("2 = " + str(time.clock() - start))
        return (lists,times)

    elif z == 2:
        start = time.clock()
        lists = (str(list(set(x) ^ set(y))))
        times = ("3 = " + str(time.clock() - start))
        return (lists,times)

    elif z == 3:
        start = time.clock()
        lists = (filterfalse(set(y).__contains__, x))
        times = ("4 = " + str(time.clock() - start))
        return (lists,times)

    elif z == 4:
        start = time.clock()
        lists = (tuple(set(x) - set(y)))
        times = ("5 = " + str(time.clock() - start))
        return (lists,times)

    elif z == 5:
        start = time.clock()
        lists = ([tt for tt in x if tt not in y])
        times = ("6 = " + str(time.clock() - start))
        return (lists,times)

    else:    
        start = time.clock()
        Xarray = [iDa for iDa in x if iDa not in y]
        Yarray = [iDb for iDb in y if iDb not in x]
        lists = (str(Xarray + Yarray))
        times = ("7 = " + str(time.clock() - start))
        return (lists,times)

n = numberoftests

if performance == 2:
    a = [1,2,3,4,5]
    b = [3,2,6]
    for c in range(0,n):
        d = answer(a,b,c)
        print(d[0])

elif performance == 1:
    for tests in range(0,10):
        print("Test Number" + str(tests + 1))
        a = random.sample(range(1, 900000), 9999)
        b = random.sample(range(1, 900000), 9999)
        for c in range(0,n):
            #if c not in (1,4,5,6):
            d = answer(a,b,c)
            print(d[1])
7
задан B Johnson 9 September 2013 в 19:16
поделиться

2 ответа

К сожалению, это невозможно, так как файлы свойств Java могут иметь только одну строку # comments.

Однако вы можете знать, что вы также можете определить свойства в XML-формате, а синтаксис XML позволит вам введите многострочные комментарии.

Если вы решили дать XML шанс, вам нужно будет вызвать Properties#loadFromXML(InputStream) , чтобы загрузить файл свойств XML.

7
ответ дан Paulo Merson 23 August 2018 в 02:18
поделиться

Это невозможно. Комментарий должен появляться в строке сам по себе и состоит из необязательного пробела, за которым следует символ "#" или "!", а затем произвольный текст до конца строки. Полную спецификацию файлов свойств Java вы можете найти в документации Javadoc для метода load(java.io.Reader reader) класса java.util.Properties .

0
ответ дан Ciaran McHale 23 August 2018 в 02:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: