Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / java 8 и yeild return C# / 25 сообщений из 42, страница 1 из 2
16.09.2014, 15:07
    #38747987
Atum1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
java 8 и yeild return C#
Добрый день ,

возник простой вопрос как в java 8 реализовать yeild return C# ?

Есть простой пример : который вернет реверсивную коллекцию ...

а как ее реализовать на java 8 ? какой там будет подход?

+ может я не увидел реализацию yeild return в java 8 ?

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
public class ReorderTest {
    public static void main(String[] args) {
        int N =  (int) 1e6;
        int[] a = new int[N];
        Random random = new Random();
        for (int i = 0; i < a.length; i++) {
             a[i] = random.nextInt(N);
        }
        
        long t = System.currentTimeMillis();
        for (int i = 0; i < 10; i++) {
        int[] b = getRevert2(a);    
        }
        System.out.println((System.currentTimeMillis() - t) + " ms");
        
        
        
        
    }
    
    public static int[] getRevert(int[] a) {
        int b[] = new int[a.length];
        for (int i = a.length - 1; i >= 0; i--) {
            b[a.length - i - 1] = a[i];
             // yeild return a[a.length - i - 1];
        }
        return b;
    }
}
...
Рейтинг: 0 / 0
16.09.2014, 15:42
    #38748054
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
java 8 и yeild return C#
Нет в Java 8 continuation-ов. Только отдельными либами. Было в изначальных предложения "чтобы такого ещё добавить в Java 8", но отвергли после рассмотрения.
http://rsdn.ru/forum/java/5706726.1
Возможно будет в Java 9. Но, судя по последним апдейтам - маловероятно.
...
Рейтинг: 0 / 0
16.09.2014, 15:55
    #38748078
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
java 8 и yeild return C#
Или это не continuation?
...
Рейтинг: 0 / 0
16.09.2014, 16:11
    #38748113
Alexey Tomin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
java 8 и yeild return C#
Atum1возник простой вопрос как в java 8 реализовать yeild return C# ?

Это который "pipe row" из pl/sql?

Смотри Stream из JDK8, но не знаю, поможет ли. Оно заточено под map/reduce операции. Препарируй sorted(), что там.

Хотя, видимо, придётся итератор писать. Хотя там немного кода. Да и наверняка "yeild return" и есть синтаксический сахар вокруг итератора.
...
Рейтинг: 0 / 0
17.09.2014, 11:42
    #38748935
Atum1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
java 8 и yeild return C#
Спасибо!
...
Рейтинг: 0 / 0
07.11.2014, 14:18
    #38798543
Atum1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
java 8 и yeild return C#
Коллеги, а когда в java появиться аналог C# partial class ?
...
Рейтинг: 0 / 0
07.11.2014, 14:39
    #38798567
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
java 8 и yeild return C#
Atum1Коллеги, а когда в java появиться аналог C# partial class ?
Непоятвиться, ибо нафиг не нужно

MSDNThere are several situations when splitting a class definition is desirable:

When working on large projects, spreading a class over separate files enables multiple programmers to work on it at the same time.

When working with automatically generated source, code can be added to the class without having to recreate the source file. Visual Studio uses this approach when it creates Windows Forms, Web service wrapper code, and so on. You can create code that uses these classes without having to modify the file created by Visual Studio.


№1 - размазываем класс по файлам, ради какой-то сомнительный выгоды редактировать вдвоём? А где гарантии, что редактировать надо будет не одну партицию???
№2 - кодогенерация зло. Хотя здравое зерно в этом есть.
...
Рейтинг: 0 / 0
07.11.2014, 15:08
    #38798596
Alexey Tomin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
java 8 и yeild return C#
Atum1Коллеги, а когда в java появиться аналог C# partial class ?

Надеюсь, что никогда. Не надо делать столь большие классы, чтобы это требовалось. Тем более, что взамен столько оговорок про наследование, абстрактность и т.п.
А совместное редактирование кода- git и так справится.
...
Рейтинг: 0 / 0
07.11.2014, 15:16
    #38798612
Usman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
java 8 и yeild return C#
...
Рейтинг: 0 / 0
07.11.2014, 15:17
    #38798613
Usman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
java 8 и yeild return C#
...
Рейтинг: 0 / 0
07.11.2014, 16:52
    #38798743
Atum1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
java 8 и yeild return C#
Usman,

спасибо . Интересный подход через итераторы :)
...
Рейтинг: 0 / 0
07.11.2014, 17:05
    #38798764
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
java 8 и yeild return C#
UsmanAtum1,

http://en.wikipedia.org/wiki/Generator_(computer_programming)#Java ?
Уже давно думал над "заполняющими кривыми". Для инженерной графики в основном.
Реализовал LinearIterator (это как-бы обход битмапа в порядке пикселов сверху
вниз и слева направо). ShakerIterator (слева-направо змейкой). ZigZagIterator
- это для поддержки JPEG в основном. По квадратикам 8х8.

И тут подошёл к заполняющей кривой Гилберта. И сдох. Она рекурсивна.
Решение рекурсивного генератора весьма изящно. Только вот прервать его
и выдать наверх значение через return весьма сложно т.к. разрушается стек.
Хрен вам а не итераторо, господин mayton.

Вобщем так я и не реализовал GilbertIterator всё из-за своей лени и отчасти
из-за отсутствия yield в Java.
...
Рейтинг: 0 / 0
07.11.2014, 17:11
    #38798773
Atum1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
java 8 и yeild return C#
mayton,

а если через современные средства ? через ленивые вычисления ? возьмите скала или груви?
...
Рейтинг: 0 / 0
07.11.2014, 17:16
    #38798782
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
java 8 и yeild return C#
Atum1, +1. Но моя графическая либа была писана на Java.
Портировать ее на груви я пока еще не готов. Там я залкладывал
свои хитрые оптимизации.

Хотя... сделать mixed-проект это вобщем-то мысль.
...
Рейтинг: 0 / 0
07.11.2014, 17:25
    #38798795
Диез
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
java 8 и yeild return C#
Atum1,

В scala с этим всё хорошо - и yield, и аналог Partial-классов есть.
...
Рейтинг: 0 / 0
09.11.2014, 16:34
    #38799902
Usman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
java 8 и yeild return C#
maytonРешение рекурсивного генератора весьма изящно.Но ведь можно разложить в "нерекуррентную" последовательность: http://jsfiddle.net/kazatca/7Zftt/
...
Рейтинг: 0 / 0
09.11.2014, 19:35
    #38799992
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
java 8 и yeild return C#
UsmanmaytonРешение рекурсивного генератора весьма изящно.Но ведь можно разложить в "нерекуррентную" последовательность: http://jsfiddle.net/kazatca/7Zftt/
У меня есть тестовая картинка с изображением печально-известной
беременной тётки которую звали Лизавета Джоконда.

Вот ее характеристики по информации imagemagic:

Код: java
1.
Mona_Lisa.jpg JPEG 2835x4289 2835x4289+0+0 8-bit sRGB 3.506MB 0.000u 0:00.000


Мне нужно обеспечить возможность обхода этой картинки по кривой Гилберта.
Мне нужно вносить изменнеия в этот исходник чтобы поддержать
resolution (2835x4289). Алгоритм Гилберта работает с 2^N квадратом тоесть
8192 на 8192.

Глубоко не вникал но очевидно этот сорс просто является частным
случаем оптимизации кривой Гилберта 5-го уровня.
...
Рейтинг: 0 / 0
14.11.2014, 15:45
    #38806531
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
java 8 и yeild return C#
Ап. Давайте сделаем тяпничной задачей.

Болванка.

GilbertPixelRecursiveIterator.groovy
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
package mayton.image.iterators

import static java.lang.Math.max
import static java.lang.Math.min

/**
 * GilbertPixelRecursiveIterator
 */
class GilbertPixelRecursiveIterator implements IPixIterator {

    def x;
    def y;

    def u=1;
    def v=0;

    def x1;
    def y1;
    def x2;
    def y2;

    public LinearPixIterator(int width,int height)
    {
        x1=min(0,width);
        y1=min(0,height);
        x2=max(0,width);
        y2=max(0,height);
        reset();
    }

    boolean isReset = false

    @Override
    int getX() {
        return x
    }

    @Override
    int getY() {
        return y
    }

    @Override
    boolean next() {
        yield false
    }

    @Override
    void reset() {
        isReset = true
    }
}
...
Рейтинг: 0 / 0
14.11.2014, 15:53
    #38806544
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
java 8 и yeild return C#
Ть... конструктор переименовать забыл.
...
Рейтинг: 0 / 0
18.11.2014, 01:06
    #38808961
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
java 8 и yeild return C#
Вобщем этот yield не взлетает из Java. Нужен какой-то враппер.
...
Рейтинг: 0 / 0
18.11.2014, 19:23
    #38810050
avp.mk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
java 8 и yeild return C#
...
Рейтинг: 0 / 0
18.11.2014, 19:40
    #38810066
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
java 8 и yeild return C#
Тут другая тема. Ломбок это просто библиотека. А Груви это язык на который я планирую
потихоньку переползать. Вобщем постараюсь собрать pom.xml с двумя тест-кейсами.
Как только соберу - приаттачу. (Щас всё развалено пока).
...
Рейтинг: 0 / 0
19.11.2014, 09:04
    #38810314
Alexey Tomin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
java 8 и yeild return C#
maytonТут другая тема. Ломбок это просто библиотека. А Груви это язык на который я планирую
потихоньку переползать. Вобщем постараюсь собрать pom.xml с двумя тест-кейсами.
Как только соберу - приаттачу. (Щас всё развалено пока).

Переползать на груви? Собирается медленно, работает медленно, с отладкой проблемы.
Рельцы- один сплошной глюк.
...
Рейтинг: 0 / 0
19.11.2014, 14:13
    #38810779
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
java 8 и yeild return C#
Пока не всё. Есть мысль сделать гибридный проект. Основная часть кода на Java.
А DTO/Pojo и прочие тупые сущности "без логики" переколбасить на Грувях.
Правда есть еще вопросы которые я не решил. Например область видимости
классов GWT и Груви.
...
Рейтинг: 0 / 0
20.11.2014, 21:26
    #38812495
avp.mk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
java 8 и yeild return C#
maytonТут другая тема. Ломбок это просто библиотека. А Груви
Я топикстартеру..

maytonА DTO/Pojo и прочие тупые сущности
А на тебе ещё про ломбок)
http://projectlombok.org/features/GetterSetter.html
http://projectlombok.org/features/Data.html
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / java 8 и yeild return C# / 25 сообщений из 42, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]